Skip to content
This repository has been archived by the owner on Nov 20, 2018. It is now read-only.

Commit

Permalink
Flattened an extra directory from aws-sdk-resource lib path.
Browse files Browse the repository at this point in the history
Also moved unit tests to matching locations.
  • Loading branch information
trevorrowe committed Sep 19, 2014
1 parent 2785686 commit ef9ae46
Show file tree
Hide file tree
Showing 45 changed files with 159 additions and 154 deletions.
41 changes: 21 additions & 20 deletions aws-sdk-resources/lib/aws-sdk-resources.rb
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
require 'aws-sdk-core'

module Aws
module Resources

autoload :Batch, 'aws-sdk-resources/batch'
autoload :Builder, 'aws-sdk-resources/builder'
autoload :BuilderSources, 'aws-sdk-resources/builder_sources'
autoload :Collection, 'aws-sdk-resources/collection'
autoload :Definition, 'aws-sdk-resources/definition'
autoload :Documenter, 'aws-sdk-resources/documenter'
autoload :Errors, 'aws-sdk-resources/errors'
autoload :Operations, 'aws-sdk-resources/operations'
autoload :OperationMethods, 'aws-sdk-resources/operation_methods'
autoload :Options, 'aws-sdk-resources/options'
autoload :Request, 'aws-sdk-resources/request'
autoload :RequestParams, 'aws-sdk-resources/request_params'
autoload :Resource, 'aws-sdk-resources/resource'
autoload :Source, 'aws-sdk-resources/source'
autoload :Validator, 'aws-sdk-resources/validator'

module Resource
autoload :Base, 'aws-sdk-resources/resource/base'
autoload :Batch, 'aws-sdk-resources/resource/batch'
autoload :Builder, 'aws-sdk-resources/resource/builder'
autoload :BuilderSources, 'aws-sdk-resources/resource/builder_sources'
autoload :Collection, 'aws-sdk-resources/resource/collection'
autoload :Definition, 'aws-sdk-resources/resource/definition'
autoload :Documenter, 'aws-sdk-resources/resource/documenter'
autoload :Errors, 'aws-sdk-resources/resource/errors'
autoload :Operations, 'aws-sdk-resources/resource/operations'
autoload :OperationMethods, 'aws-sdk-resources/resource/operation_methods'
autoload :Options, 'aws-sdk-resources/resource/options'
autoload :Request, 'aws-sdk-resources/resource/request'
autoload :RequestParams, 'aws-sdk-resources/resource/request_params'
autoload :Source, 'aws-sdk-resources/resource/source'
autoload :Validator, 'aws-sdk-resources/resource/validator'
end

service_added do |_, svc_module, options|
definition = options[:resources]
definition = case definition
when nil then Resource::Definition.new({})
when Resource::Definition then definition
when Hash then Resource::Definition.new(definition)
when String then Resource::Definition.new(Aws.load_json(definition), source_path: definition)
when nil then Resources::Definition.new({})
when Resources::Definition then definition
when Hash then Resources::Definition.new(definition)
when String then Resources::Definition.new(Aws.load_json(definition), source_path: definition)
else raise ArgumentError, "invalid resource definition #{definition}"
end
definition.apply(svc_module)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources

# A batch provides array like access to a list of resources. Batches
# also provide the ability to invoke certain operations against
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'jamespath'

module Aws
module Resource
module Resources

# A {Builder} construct resource objects. It extracts resource identifiers
# for the objects it builds from another resource object and/or an
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'jamespath'

module Aws
module Resource
module Resources
module BuilderSources

# Used by a {Builder} to extract resource identifiers from an AWS
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Collection

include Enumerable
Expand All @@ -13,7 +13,7 @@ def initialize(operation, options)
reject_limit_param(options)
end

# @return [Enumerator<Resource::Base>]
# @return [Enumerator<Resource>]
def each(&block)
if block_given?
batches.each { |batch| batch.each(&block) }
Expand Down Expand Up @@ -73,7 +73,7 @@ def batch_size(size)
# resources = collection.first(10)
# resources.delete
#
# @return [Resource::Base, Resource::Batch]
# @return [Resource, Batch]
def first(count = 1)
if count == 1
limit(1).to_a.first
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'set'

module Aws
module Resource
module Resources

# Given a resource definition document, a {Definition} can build a set
# of related resource classes.
Expand Down Expand Up @@ -36,15 +36,15 @@ def apply(namespace)

def build_resource_classes(namespace)
each_definition do |name, definition|
resource_class = Class.new(Base)
resource_class = Class.new(Resource)
resource_class.client_class = namespace::Client
resource_class.resource_name = name
(definition['identifiers'] || []).each do |identifier|
resource_class.add_identifier(underscore(identifier['name']))
end
namespace.const_set(name, resource_class)
unless name == 'Resource'
resource_class.const_set(:Batch, Class.new(Resource::Batch))
resource_class.const_set(:Batch, Class.new(Batch))
end
end
end
Expand Down Expand Up @@ -278,7 +278,7 @@ def define_reference(namespace, resource, name, definition)
end

def define_builder(namespace, definition)
builder = Resource::Builder.new(
builder = Builder.new(
resource_class: namespace.const_get(definition['type']),
sources: builder_sources(definition['identifiers'] || [])
)
Expand Down
18 changes: 18 additions & 0 deletions aws-sdk-resources/lib/aws-sdk-resources/documenter.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
require 'json'

module Aws
module Resources
class Documenter

autoload :BaseOperationDocumenter, 'aws-sdk-resources/documenter/base_operation_documenter'
autoload :DataOperationDocumenter, 'aws-sdk-resources/documenter/data_operation_documenter'
autoload :EnumerateDataOperationDocumenter, 'aws-sdk-resources/documenter/enumerate_data_operation_documenter'
autoload :EnumerateResourceOperationDocumenter, 'aws-sdk-resources/documenter/enumerate_resource_operation_documenter'
autoload :OperationDocumenter, 'aws-sdk-resources/documenter/operation_documenter'
autoload :ReferenceOperationDocumenter, 'aws-sdk-resources/documenter/reference_operation_documenter'
autoload :ResourceOperationDocumenter, 'aws-sdk-resources/documenter/resource_operation_documenter'
autoload :WaiterOperationDocumenter, 'aws-sdk-resources/documenter/waiter_operation_documenter'

end
end
end
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Documenter
class BaseOperationDocumenter

Expand Down Expand Up @@ -27,7 +27,7 @@ def initialize(yard_class, resource_class, operation_name, operation)
# @return [YARD::CodeObject::ClassObject]
attr_reader :yard_class

# @return [Class<Resource::Base>] Returns the resource class this
# @return [Class<Resource>] Returns the resource class this
# operation belongs to.
attr_reader :resource_class

Expand All @@ -42,7 +42,7 @@ def initialize(yard_class, resource_class, operation_name, operation)
#
attr_reader :resource_class_name

# @return [Class<Resource::Base>,nil] Returns the class of the resource
# @return [Class<Resource>,nil] Returns the class of the resource
# returned by invoking this operation. Returns `nil` if this operation
# does not return any resource objects.
attr_reader :target_resource_class
Expand Down Expand Up @@ -72,12 +72,12 @@ def initialize(yard_class, resource_class, operation_name, operation)
# This is useful for generating `@see` tags and `{links}`.
attr_reader :called_operation

# @return [Resource::Builder,nil] Returns the resource builder for
# @return [Builder,nil] Returns the resource builder for
# this operation. Returns `nil` if this operation does not build
# and return resource objects.
attr_reader :builder

# @return [Resource::Source]
# @return [Source]
attr_reader :source

# Constructs and returns a new YARD method object for this operation.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Documenter
class DataOperationDocumenter < BaseOperationDocumenter

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Documenter
class EnumerateDataOperationDocumenter < BaseOperationDocumenter

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Documenter
class EnumerateResourceOperationDocumenter < BaseOperationDocumenter

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Documenter
class OperationDocumenter < BaseOperationDocumenter

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Documenter
class ReferenceOperationDocumenter < BaseOperationDocumenter

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Documenter
class ResourceOperationDocumenter < BaseOperationDocumenter

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Documenter
class WaiterOperationDocumenter < BaseOperationDocumenter

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
module Errors

class UnknownOperationError < ArgumentError
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
module OperationMethods

# @param [Symbol] name
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'jamespath'

module Aws
module Resource
module Resources
module Operations

# Base class for operations. An operation is any object that responds
Expand All @@ -22,7 +22,7 @@ def initialize(options = {})
# @return [Source, nil]
attr_reader :source

# @option options[required,Resource::Base] :resource
# @option options[required,Resource] :resource
# @option options[required,Array<Mixed>] :args
# @option options[Proc] :block
# @return [Mixed]
Expand Down Expand Up @@ -258,7 +258,7 @@ def initialize(options = {})
# @return [String<JMESPathExpression>, nil]
attr_reader :path

# @option options [required,Resource::Base] :resource
# @option options [required,Resource] :resource
# @option options [required,Array<Mixed>] :args
def call(options, &block)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
module Options

private
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
class Request

# @option opitons [requried, String] :method_name
Expand All @@ -17,7 +17,7 @@ def initialize(options = {})
# @return [Array<RequestParams::Param>]
attr_reader :params

# @option options [required,Resource::Base] :resource
# @option options [required,Resource] :resource
# @option options [Array<Mixed>] :args
# @return [Seahorse::Client::Response]
def call(options)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Aws
module Resource
module Resources
module RequestParams

# @api private
Expand All @@ -10,7 +10,7 @@ def initialize(params)
@params = params
end

# @option options [required,Resource::Base] :resource
# @option options [required,Resource] :resource
# @option options [required,Array<Mixed>] :args
# @return [Hash]
def build(options = {})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
module Aws
module Resource
class Base
module Resources
class Resource

extend OperationMethods

# @overload initialize(options = {})
# @overload initialize(*identifiers, options = {})
# @option options [Seahorse::Client::Base] :client
# @option options [Client] :client
def initialize(*args)
options = args.last.is_a?(Hash) ? args.pop : {}
@identifiers = extract_identifiers(args, options)
Expand All @@ -15,7 +15,7 @@ def initialize(*args)
end

# Marked private to prevent double documentation
# @return [Seahorse::Client::Base]
# @return [Client]
attr_reader :client

# Marked private to prevent double documentation
Expand Down Expand Up @@ -87,7 +87,7 @@ class << self
# @return [String, nil] The resource name.
attr_accessor :resource_name

# @return [Class<Seahorse::Client::Base>, nil] When constructing
# @return [Class<Client>, nil] When constructing
# a resource, the client will default to an instance of the
# this class.
attr_accessor :client_class
Expand Down
18 changes: 0 additions & 18 deletions aws-sdk-resources/lib/aws-sdk-resources/resource/documenter.rb

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'json'

module Aws
module Resource
module Resources
class Source

def initialize(definition, file = nil)
Expand Down
Loading

0 comments on commit ef9ae46

Please sign in to comment.