From 5159a7b778cb12618cf2b426e2f53dab396fb1c0 Mon Sep 17 00:00:00 2001 From: Hailee Kenney Date: Tue, 30 Sep 2014 13:34:57 -0700 Subject: [PATCH] (PDOC-3) Move requires to top level scope Prior to this commit, the requires for the puppetx portion of this project were dealt with in each individual file. In order to make the code more readable and the requires more clear, move them all into the strings file. --- lib/puppetx/puppetlabs/strings.rb | 23 +++++++++++++++++-- .../puppetlabs/strings/pops/yard_statement.rb | 3 --- .../strings/pops/yard_transformer.rb | 4 ---- .../puppetlabs/strings/yard/code_objects.rb | 3 --- .../yard/code_objects/defined_type_object.rb | 4 ---- .../yard/code_objects/host_class_object.rb | 2 -- .../code_objects/puppet_namespace_object.rb | 3 --- .../puppetlabs/strings/yard/handlers.rb | 6 ----- .../puppetlabs/strings/yard/handlers/base.rb | 6 ----- .../yard/handlers/defined_type_handler.rb | 2 -- .../yard/handlers/host_class_handler.rb | 2 -- .../handlers/puppet_3x_function_handler.rb | 4 ---- .../handlers/puppet_4x_function_handler.rb | 2 -- 13 files changed, 21 insertions(+), 43 deletions(-) delete mode 100644 lib/puppetx/puppetlabs/strings/yard/code_objects.rb delete mode 100644 lib/puppetx/puppetlabs/strings/yard/handlers.rb diff --git a/lib/puppetx/puppetlabs/strings.rb b/lib/puppetx/puppetlabs/strings.rb index 2c9ab44..62cdd3a 100644 --- a/lib/puppetx/puppetlabs/strings.rb +++ b/lib/puppetx/puppetlabs/strings.rb @@ -3,19 +3,38 @@ require 'puppetx' # Nothing to see here except forward declarations. module Puppetx::PuppetLabs module Strings + require 'puppet/pops' # This submodule contains bits that interface with the YARD plugin system. module YARD - module Handlers + require 'yard' + + # This submodule contains code objects which are used to represent relevant + # aspects of puppet code in YARD's Registry + module CodeObjects + require 'puppetx/puppetlabs/strings/yard/code_objects/puppet_namespace_object' + require 'puppetx/puppetlabs/strings/yard/code_objects/defined_type_object' + require 'puppetx/puppetlabs/strings/yard/code_objects/host_class_object' end - module CodeObjects + # This submodule contains handlers which are used to extract relevant data about + # puppet code from the ASTs produced by the Ruby and Puppet parsers + module Handlers + # This utility library contains some tools for working with Puppet docstrings + require 'puppet/util/docs' + require 'puppetx/puppetlabs/strings/yard/handlers/base' + require 'puppetx/puppetlabs/strings/yard/handlers/defined_type_handler' + require 'puppetx/puppetlabs/strings/yard/handlers/host_class_handler' + require 'puppetx/puppetlabs/strings/yard/handlers/puppet_3x_function_handler' + require 'puppetx/puppetlabs/strings/yard/handlers/puppet_4x_function_handler' end end # This submodule contains bits that operate on the Pops module produced by # the Future parser. module Pops + require 'puppetx/puppetlabs/strings/pops/yard_statement' + require 'puppetx/puppetlabs/strings/pops/yard_transformer' end end end diff --git a/lib/puppetx/puppetlabs/strings/pops/yard_statement.rb b/lib/puppetx/puppetlabs/strings/pops/yard_statement.rb index e879964..924085a 100644 --- a/lib/puppetx/puppetlabs/strings/pops/yard_statement.rb +++ b/lib/puppetx/puppetlabs/strings/pops/yard_statement.rb @@ -1,7 +1,4 @@ require 'ostruct' -require 'puppet/pops' - -require 'puppetx/puppetlabs/strings' # An adapter class that conforms a Pops model instance + adapters to the # interface expected by YARD handlers. diff --git a/lib/puppetx/puppetlabs/strings/pops/yard_transformer.rb b/lib/puppetx/puppetlabs/strings/pops/yard_transformer.rb index 111ee27..f386add 100644 --- a/lib/puppetx/puppetlabs/strings/pops/yard_transformer.rb +++ b/lib/puppetx/puppetlabs/strings/pops/yard_transformer.rb @@ -1,7 +1,3 @@ -require 'puppet/pops' -require 'puppetx/puppetlabs/strings' -require 'puppetx/puppetlabs/strings/pops/yard_statement' - # Loosely based on the TreeDumper classes in Pops::Model. The responsibility of # this class is to walk a Pops::Model and output objects that can be consumed # by YARD handlers. diff --git a/lib/puppetx/puppetlabs/strings/yard/code_objects.rb b/lib/puppetx/puppetlabs/strings/yard/code_objects.rb deleted file mode 100644 index b483541..0000000 --- a/lib/puppetx/puppetlabs/strings/yard/code_objects.rb +++ /dev/null @@ -1,3 +0,0 @@ -require 'puppetx/puppetlabs/strings/yard/code_objects/puppet_namespace_object' -require 'puppetx/puppetlabs/strings/yard/code_objects/defined_type_object' -require 'puppetx/puppetlabs/strings/yard/code_objects/host_class_object' diff --git a/lib/puppetx/puppetlabs/strings/yard/code_objects/defined_type_object.rb b/lib/puppetx/puppetlabs/strings/yard/code_objects/defined_type_object.rb index 7465b80..c4fbe8e 100644 --- a/lib/puppetx/puppetlabs/strings/yard/code_objects/defined_type_object.rb +++ b/lib/puppetx/puppetlabs/strings/yard/code_objects/defined_type_object.rb @@ -1,7 +1,3 @@ -require 'puppet/pops' - -require 'puppetx/puppetlabs/strings/yard/code_objects/puppet_namespace_object' - class Puppetx::PuppetLabs::Strings::YARD::CodeObjects::DefinedTypeObject < Puppetx::PuppetLabs::Strings::YARD::CodeObjects::PuppetNamespaceObject # A list of parameters attached to this class. # @return [Array] diff --git a/lib/puppetx/puppetlabs/strings/yard/code_objects/host_class_object.rb b/lib/puppetx/puppetlabs/strings/yard/code_objects/host_class_object.rb index 5ca5086..5f5dda7 100644 --- a/lib/puppetx/puppetlabs/strings/yard/code_objects/host_class_object.rb +++ b/lib/puppetx/puppetlabs/strings/yard/code_objects/host_class_object.rb @@ -1,5 +1,3 @@ -require 'puppetx/puppetlabs/strings/yard/code_objects/defined_type_object' - class Puppetx::PuppetLabs::Strings::YARD::CodeObjects::HostClassObject < Puppetx::PuppetLabs::Strings::YARD::CodeObjects::DefinedTypeObject # The {HostClassObject} that this class inherits from, if any. # @return [HostClassObject, Proxy, nil] diff --git a/lib/puppetx/puppetlabs/strings/yard/code_objects/puppet_namespace_object.rb b/lib/puppetx/puppetlabs/strings/yard/code_objects/puppet_namespace_object.rb index 00146eb..f619a45 100644 --- a/lib/puppetx/puppetlabs/strings/yard/code_objects/puppet_namespace_object.rb +++ b/lib/puppetx/puppetlabs/strings/yard/code_objects/puppet_namespace_object.rb @@ -1,6 +1,3 @@ -require 'yard' -require 'puppetx/puppetlabs/strings' - class Puppetx::PuppetLabs::Strings::YARD::CodeObjects::PuppetNamespaceObject < YARD::CodeObjects::NamespaceObject # NOTE: `YARD::Registry#resolve` requires a method with this signature to # be present on all subclasses of `NamespaceObject`. diff --git a/lib/puppetx/puppetlabs/strings/yard/handlers.rb b/lib/puppetx/puppetlabs/strings/yard/handlers.rb deleted file mode 100644 index 19cc4ea..0000000 --- a/lib/puppetx/puppetlabs/strings/yard/handlers.rb +++ /dev/null @@ -1,6 +0,0 @@ -require 'puppetx/puppetlabs/strings/yard/handlers/base' -require 'puppetx/puppetlabs/strings/yard/handlers/defined_type_handler' -require 'puppetx/puppetlabs/strings/yard/handlers/host_class_handler' - -require 'puppetx/puppetlabs/strings/yard/handlers/puppet_3x_function_handler' -require 'puppetx/puppetlabs/strings/yard/handlers/puppet_4x_function_handler' diff --git a/lib/puppetx/puppetlabs/strings/yard/handlers/base.rb b/lib/puppetx/puppetlabs/strings/yard/handlers/base.rb index 36d1b79..1b9ec24 100644 --- a/lib/puppetx/puppetlabs/strings/yard/handlers/base.rb +++ b/lib/puppetx/puppetlabs/strings/yard/handlers/base.rb @@ -1,9 +1,3 @@ -require 'yard' -require 'puppet/pops' - -require 'puppetx/puppetlabs/strings' -require 'puppetx/puppetlabs/strings/yard/code_objects' - class Puppetx::PuppetLabs::Strings::YARD::Handlers::Base < YARD::Handlers::Base # Easy access to Pops model objects for handler matching. include Puppet::Pops::Model diff --git a/lib/puppetx/puppetlabs/strings/yard/handlers/defined_type_handler.rb b/lib/puppetx/puppetlabs/strings/yard/handlers/defined_type_handler.rb index 309b6cc..3259b0f 100644 --- a/lib/puppetx/puppetlabs/strings/yard/handlers/defined_type_handler.rb +++ b/lib/puppetx/puppetlabs/strings/yard/handlers/defined_type_handler.rb @@ -1,5 +1,3 @@ -require 'puppetx/puppetlabs/strings/yard/handlers/base' - class Puppetx::PuppetLabs::Strings::YARD::Handlers::DefinedTypeHandler < Puppetx::PuppetLabs::Strings::YARD::Handlers:: Base handles ResourceTypeDefinition diff --git a/lib/puppetx/puppetlabs/strings/yard/handlers/host_class_handler.rb b/lib/puppetx/puppetlabs/strings/yard/handlers/host_class_handler.rb index 519dc8b..9e346cd 100644 --- a/lib/puppetx/puppetlabs/strings/yard/handlers/host_class_handler.rb +++ b/lib/puppetx/puppetlabs/strings/yard/handlers/host_class_handler.rb @@ -1,5 +1,3 @@ -require 'puppetx/puppetlabs/strings/yard/handlers/base' - class Puppetx::PuppetLabs::Strings::YARD::Handlers::HostClassHandler < Puppetx::PuppetLabs::Strings::YARD::Handlers::Base handles HostClassDefinition diff --git a/lib/puppetx/puppetlabs/strings/yard/handlers/puppet_3x_function_handler.rb b/lib/puppetx/puppetlabs/strings/yard/handlers/puppet_3x_function_handler.rb index 6df0024..0083eca 100644 --- a/lib/puppetx/puppetlabs/strings/yard/handlers/puppet_3x_function_handler.rb +++ b/lib/puppetx/puppetlabs/strings/yard/handlers/puppet_3x_function_handler.rb @@ -1,7 +1,3 @@ -# This utility library contains some tools for working with Puppet docstrings. -require 'puppet/util/docs' -require 'puppetx/puppetlabs/strings/yard/code_objects' - class Puppetx::PuppetLabs::Strings::YARD::Handlers::Puppet3xFunctionHandler < YARD::Handlers::Ruby::Base include Puppetx::PuppetLabs::Strings::YARD::CodeObjects diff --git a/lib/puppetx/puppetlabs/strings/yard/handlers/puppet_4x_function_handler.rb b/lib/puppetx/puppetlabs/strings/yard/handlers/puppet_4x_function_handler.rb index ac71733..4f4d654 100644 --- a/lib/puppetx/puppetlabs/strings/yard/handlers/puppet_4x_function_handler.rb +++ b/lib/puppetx/puppetlabs/strings/yard/handlers/puppet_4x_function_handler.rb @@ -1,5 +1,3 @@ -require 'puppetx/puppetlabs/strings/yard/code_objects' - # Handles `dispatch` calls within a future parser function declaration. For # now, it just treats any docstring as an `@overlaod` tag and attaches the # overload to the parent function.