aws-sdk-code-generator 0.1.0.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/aws-sdk-code-generator.rb +91 -0
- data/lib/aws-sdk-code-generator/apply_docs.rb +37 -0
- data/lib/aws-sdk-code-generator/code_builder.rb +201 -0
- data/lib/aws-sdk-code-generator/dsl/access_control_statement.rb +23 -0
- data/lib/aws-sdk-code-generator/dsl/attribute_accessor.rb +43 -0
- data/lib/aws-sdk-code-generator/dsl/attribute_reader.rb +11 -0
- data/lib/aws-sdk-code-generator/dsl/attribute_writer.rb +11 -0
- data/lib/aws-sdk-code-generator/dsl/autoload_statement.rb +15 -0
- data/lib/aws-sdk-code-generator/dsl/block_param.rb +11 -0
- data/lib/aws-sdk-code-generator/dsl/class.rb +27 -0
- data/lib/aws-sdk-code-generator/dsl/code_literal.rb +66 -0
- data/lib/aws-sdk-code-generator/dsl/code_object.rb +33 -0
- data/lib/aws-sdk-code-generator/dsl/docstring.rb +36 -0
- data/lib/aws-sdk-code-generator/dsl/eigenclass.rb +15 -0
- data/lib/aws-sdk-code-generator/dsl/extend_statement.rb +12 -0
- data/lib/aws-sdk-code-generator/dsl/formatter.rb +25 -0
- data/lib/aws-sdk-code-generator/dsl/include_statement.rb +17 -0
- data/lib/aws-sdk-code-generator/dsl/main.rb +105 -0
- data/lib/aws-sdk-code-generator/dsl/method.rb +108 -0
- data/lib/aws-sdk-code-generator/dsl/module.rb +167 -0
- data/lib/aws-sdk-code-generator/dsl/option_tag.rb +36 -0
- data/lib/aws-sdk-code-generator/dsl/param.rb +43 -0
- data/lib/aws-sdk-code-generator/dsl/param_list.rb +38 -0
- data/lib/aws-sdk-code-generator/dsl/return_tag.rb +19 -0
- data/lib/aws-sdk-code-generator/dsl/tag_default.rb +20 -0
- data/lib/aws-sdk-code-generator/dsl/tag_docstring.rb +27 -0
- data/lib/aws-sdk-code-generator/dsl/tag_type.rb +18 -0
- data/lib/aws-sdk-code-generator/errors.rb +30 -0
- data/lib/aws-sdk-code-generator/gem_builder.rb +71 -0
- data/lib/aws-sdk-code-generator/generators/client_api_module.rb +334 -0
- data/lib/aws-sdk-code-generator/generators/client_class.rb +389 -0
- data/lib/aws-sdk-code-generator/generators/client_operation_documentation.rb +166 -0
- data/lib/aws-sdk-code-generator/generators/errors_module.rb +25 -0
- data/lib/aws-sdk-code-generator/generators/resource/action.rb +88 -0
- data/lib/aws-sdk-code-generator/generators/resource/batch_builder.rb +211 -0
- data/lib/aws-sdk-code-generator/generators/resource/builder.rb +50 -0
- data/lib/aws-sdk-code-generator/generators/resource/client_getter.rb +15 -0
- data/lib/aws-sdk-code-generator/generators/resource/client_request.rb +49 -0
- data/lib/aws-sdk-code-generator/generators/resource/client_request_docs.rb +97 -0
- data/lib/aws-sdk-code-generator/generators/resource/client_request_params.rb +88 -0
- data/lib/aws-sdk-code-generator/generators/resource/collection_class.rb +180 -0
- data/lib/aws-sdk-code-generator/generators/resource/data_attribute_getter.rb +24 -0
- data/lib/aws-sdk-code-generator/generators/resource/data_loaded_method.rb +18 -0
- data/lib/aws-sdk-code-generator/generators/resource/data_method.rb +49 -0
- data/lib/aws-sdk-code-generator/generators/resource/exists_method.rb +29 -0
- data/lib/aws-sdk-code-generator/generators/resource/extract_identifier_method.rb +32 -0
- data/lib/aws-sdk-code-generator/generators/resource/has_association.rb +101 -0
- data/lib/aws-sdk-code-generator/generators/resource/has_many_association.rb +108 -0
- data/lib/aws-sdk-code-generator/generators/resource/identifier_getter.rb +26 -0
- data/lib/aws-sdk-code-generator/generators/resource/identifiers_method.rb +28 -0
- data/lib/aws-sdk-code-generator/generators/resource/initialize_method.rb +67 -0
- data/lib/aws-sdk-code-generator/generators/resource/load_method.rb +65 -0
- data/lib/aws-sdk-code-generator/generators/resource/value_source.rb +68 -0
- data/lib/aws-sdk-code-generator/generators/resource/waiter_method.rb +61 -0
- data/lib/aws-sdk-code-generator/generators/resource_class.rb +325 -0
- data/lib/aws-sdk-code-generator/generators/response_structure_example.rb +83 -0
- data/lib/aws-sdk-code-generator/generators/root_resource_class.rb +42 -0
- data/lib/aws-sdk-code-generator/generators/service_documentation.rb +64 -0
- data/lib/aws-sdk-code-generator/generators/shared_example.rb +132 -0
- data/lib/aws-sdk-code-generator/generators/structure_type_class.rb +95 -0
- data/lib/aws-sdk-code-generator/generators/syntax_example.rb +169 -0
- data/lib/aws-sdk-code-generator/generators/types_module.rb +52 -0
- data/lib/aws-sdk-code-generator/generators/waiter_class.rb +62 -0
- data/lib/aws-sdk-code-generator/generators/waiters_module.rb +20 -0
- data/lib/aws-sdk-code-generator/hash_formatter.rb +122 -0
- data/lib/aws-sdk-code-generator/helper.rb +215 -0
- data/lib/aws-sdk-code-generator/service.rb +126 -0
- data/lib/aws-sdk-code-generator/underscore.rb +45 -0
- data/lib/aws-sdk-code-generator/view.rb +23 -0
- data/lib/aws-sdk-code-generator/views.rb +3 -0
- data/lib/aws-sdk-code-generator/views/features/env.rb +24 -0
- data/lib/aws-sdk-code-generator/views/features/step_definitions.rb +20 -0
- data/lib/aws-sdk-code-generator/views/gemspec.rb +41 -0
- data/lib/aws-sdk-code-generator/views/service_module.rb +85 -0
- data/lib/aws-sdk-code-generator/views/spec/spec_helper.rb +24 -0
- data/lib/aws-sdk-code-generator/views/version.rb +16 -0
- metadata +120 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
class Service
|
|
3
|
+
|
|
4
|
+
# @param [Hash] options
|
|
5
|
+
# @option options [required, String] :gem_version Gem version, e.g. "1.0.0".
|
|
6
|
+
# @option options [required, String] :name The service name, e.g. "S3"
|
|
7
|
+
# @option options [String] :module_name The service module name, defaults
|
|
8
|
+
# to "Aws::#{name}", e.g. "Aws::S3".
|
|
9
|
+
# @option options [required, Hash, String] :api
|
|
10
|
+
# @option options [Hash, String] :docs
|
|
11
|
+
# @option options [Hash, String] :paginators
|
|
12
|
+
# @option options [Hash, String] :waiters
|
|
13
|
+
# @option options [Hash, String] :resources
|
|
14
|
+
# @option options [Hash, String] :examples
|
|
15
|
+
# @option options [Hash<gem,version>] :gem_dependencies ({})
|
|
16
|
+
# @option options [Hash] :add_plugins ({})
|
|
17
|
+
# @option options [Hash] :remove_plugins ([])
|
|
18
|
+
def initialize(options)
|
|
19
|
+
@name = options.fetch(:name)
|
|
20
|
+
@identifier = name.downcase
|
|
21
|
+
@module_name = options[:module_name] || "Aws::#{name}"
|
|
22
|
+
@gem_name = options[:gem_name] || "aws-sdk-#{identifier}"
|
|
23
|
+
@gem_version = options.fetch(:gem_version)
|
|
24
|
+
@api = load_json(options.fetch(:api))
|
|
25
|
+
ApplyDocs.new(@api).apply(load_json(options[:docs]))
|
|
26
|
+
@paginators = load_json(options[:paginators])
|
|
27
|
+
@waiters = load_json(options[:waiters])
|
|
28
|
+
@resources = load_json(options[:resources])
|
|
29
|
+
@examples = load_json(options[:examples])
|
|
30
|
+
@gem_dependencies = {
|
|
31
|
+
'aws-sdk-core' => '3.0.0.rc1'
|
|
32
|
+
}.merge(options[:gem_dependencies] || {})
|
|
33
|
+
@add_plugins = options[:add_plugins] || {}
|
|
34
|
+
@remove_plugins = options[:remove_plugins] || []
|
|
35
|
+
@endpoints_key = options.fetch(:endpoints_key, nil)
|
|
36
|
+
|
|
37
|
+
# computed attributes
|
|
38
|
+
@protocol = api.fetch('metadata').fetch('protocol')
|
|
39
|
+
@api_version = api.fetch('metadata')['apiVersion']
|
|
40
|
+
@signature_version = api.fetch('metadata')['signatureVersion']
|
|
41
|
+
@full_name = api.fetch('metadata')['serviceFullName']
|
|
42
|
+
@short_name = api.fetch('metadata')['serviceAbbreviation'] || @full_name
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# @return [String] The service name, e.g. "S3"
|
|
46
|
+
attr_reader :name
|
|
47
|
+
|
|
48
|
+
# @return [String] The service module, e.g. "Aws::S3"
|
|
49
|
+
attr_reader :module_name
|
|
50
|
+
|
|
51
|
+
# @return [Hash] The service API model.
|
|
52
|
+
attr_reader :api
|
|
53
|
+
|
|
54
|
+
# @return [Hash, nil] The service paginators model.
|
|
55
|
+
attr_reader :paginators
|
|
56
|
+
|
|
57
|
+
# @return [Hash, nil] The service waiters model.
|
|
58
|
+
attr_reader :waiters
|
|
59
|
+
|
|
60
|
+
# @return [Hash, nil] The service resource model.
|
|
61
|
+
attr_reader :resources
|
|
62
|
+
|
|
63
|
+
# @return [Hash, nil] The service shared examples model.
|
|
64
|
+
attr_reader :examples
|
|
65
|
+
|
|
66
|
+
# @return [Hash<String,String>] A hash of gem dependencies. Hash keys
|
|
67
|
+
# are gem names, values are versions.
|
|
68
|
+
attr_reader :gem_dependencies
|
|
69
|
+
|
|
70
|
+
# @return [String]
|
|
71
|
+
attr_reader :gem_version
|
|
72
|
+
|
|
73
|
+
# @return [String, nil]
|
|
74
|
+
attr_reader :endpoints_key
|
|
75
|
+
|
|
76
|
+
# @return [Hash<String,String>] A hash of plugins to add.
|
|
77
|
+
attr_reader :add_plugins
|
|
78
|
+
|
|
79
|
+
# @return [Array<String>] A list of default plugins to remove.
|
|
80
|
+
attr_reader :remove_plugins
|
|
81
|
+
|
|
82
|
+
# @return [String] The service identifier, e.g. "s3"
|
|
83
|
+
attr_reader :identifier
|
|
84
|
+
|
|
85
|
+
# @return [String] The gem name, e.g. "aws-sdk-s3"
|
|
86
|
+
attr_reader :gem_name
|
|
87
|
+
|
|
88
|
+
# @return [String] The service protocol, e.g. "json", "query", etc.
|
|
89
|
+
attr_reader :protocol
|
|
90
|
+
|
|
91
|
+
# @return [String] The service API version, e.g. "YYYY-MM-DD".
|
|
92
|
+
attr_reader :api_version
|
|
93
|
+
|
|
94
|
+
# @return [String] The signature version, e.g. "v4"
|
|
95
|
+
attr_reader :signature_version
|
|
96
|
+
|
|
97
|
+
# @return [String] The full product name for the service,
|
|
98
|
+
# e.g. "Amazon Simple Storage Service".
|
|
99
|
+
attr_reader :full_name
|
|
100
|
+
|
|
101
|
+
# @return [String] The short product name for the service, e.g. "Amazon S3".
|
|
102
|
+
attr_reader :short_name
|
|
103
|
+
|
|
104
|
+
# @api private
|
|
105
|
+
def inspect
|
|
106
|
+
"#<#{self.class.name}>"
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
private
|
|
110
|
+
|
|
111
|
+
def load_json(value)
|
|
112
|
+
case value
|
|
113
|
+
when nil then nil
|
|
114
|
+
when Hash then value
|
|
115
|
+
when String
|
|
116
|
+
File.open(value, 'rb') do |file|
|
|
117
|
+
JSON.load(file.read)
|
|
118
|
+
end
|
|
119
|
+
else
|
|
120
|
+
"expected String, Hash, or nil, got `#{value.class}'"
|
|
121
|
+
raise ArgumentError, msg
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Underscore
|
|
3
|
+
class << self
|
|
4
|
+
|
|
5
|
+
def irregular_inflections(hash)
|
|
6
|
+
@irregular_inflections.update(hash)
|
|
7
|
+
@irregular_regex = Regexp.new(@irregular_inflections.keys.join('|'))
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# @param [String] string
|
|
11
|
+
# @return [String] Returns the underscored version of the given string.
|
|
12
|
+
def underscore(string)
|
|
13
|
+
string.
|
|
14
|
+
gsub(@irregular_regex) { |word| '_' + @irregular_inflections[word] }.
|
|
15
|
+
gsub(/([A-Z0-9]+)([A-Z][a-z])/, '\1_\2').
|
|
16
|
+
scan(/[a-z0-9]+|\d+|[A-Z0-9]+[a-z]*/).
|
|
17
|
+
join('_').downcase
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @param [String<JMESPath>]
|
|
21
|
+
# @return [String]
|
|
22
|
+
def underscore_jmespath(expression)
|
|
23
|
+
expression.
|
|
24
|
+
gsub(' or ', '||').
|
|
25
|
+
gsub(/(?<![`'])\b\w+\b(?![`'])/) { |str| Underscore.underscore(str) }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
@irregular_inflections = {}
|
|
31
|
+
|
|
32
|
+
irregular_inflections({
|
|
33
|
+
'ARNs' => 'arns',
|
|
34
|
+
'CNAMEs' => 'cnames',
|
|
35
|
+
'ETag' => 'etag',
|
|
36
|
+
'Ec2' => 'ec2',
|
|
37
|
+
'ElastiCache' => 'elasticache',
|
|
38
|
+
'iSCSI' => 'iscsi',
|
|
39
|
+
'ACLs' => 'acls',
|
|
40
|
+
'Md5s' => 'md5s',
|
|
41
|
+
#'SSEKMS' => 'sse_kms',
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require 'mustache'
|
|
2
|
+
|
|
3
|
+
module AwsSdkCodeGenerator
|
|
4
|
+
class View < Mustache
|
|
5
|
+
|
|
6
|
+
TEMPLATE_DIR = File.expand_path('../../../templates', __FILE__)
|
|
7
|
+
|
|
8
|
+
def self.inherited(subclass)
|
|
9
|
+
parts = subclass.name.split('::')
|
|
10
|
+
parts.shift #=> remove AwsSdkCodeGenerator
|
|
11
|
+
parts.shift #=> remove Views
|
|
12
|
+
path = parts.map { |part| Underscore.underscore(part) }.join('/')
|
|
13
|
+
subclass.template_path = TEMPLATE_DIR
|
|
14
|
+
subclass.template_file = "#{TEMPLATE_DIR}/#{path}.mustache"
|
|
15
|
+
subclass.raise_on_context_miss = true
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def underscore(string)
|
|
19
|
+
Underscore.underscore(string)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Views
|
|
3
|
+
module Features
|
|
4
|
+
class Env < View
|
|
5
|
+
|
|
6
|
+
# @param [Hash] options
|
|
7
|
+
# @option options [required, Service] :service
|
|
8
|
+
def initialize(options)
|
|
9
|
+
service = options.fetch(:service)
|
|
10
|
+
@gem_name = service.gem_name
|
|
11
|
+
@module_name = service.module_name
|
|
12
|
+
@gem_dependencies = service.gem_dependencies.map do |gem_name, _|
|
|
13
|
+
{ dependency: gem_name }
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
attr_reader :gem_name
|
|
18
|
+
attr_reader :module_name
|
|
19
|
+
attr_reader :gem_dependencies
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Views
|
|
3
|
+
module Features
|
|
4
|
+
class StepDefinitions < View
|
|
5
|
+
|
|
6
|
+
# @param [Hash] options
|
|
7
|
+
# @option options [required, Service] :service
|
|
8
|
+
def initialize(options)
|
|
9
|
+
service = options.fetch(:service)
|
|
10
|
+
@var_name = service.identifier
|
|
11
|
+
@module_name = service.module_name
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
attr_reader :var_name
|
|
15
|
+
attr_reader :module_name
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Views
|
|
3
|
+
class Gemspec < View
|
|
4
|
+
|
|
5
|
+
# @option options [required, Service] :service
|
|
6
|
+
def initialize(options)
|
|
7
|
+
@service = options.fetch(:service)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# @return [String]
|
|
11
|
+
def gem_name
|
|
12
|
+
@service.gem_name
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @return [String]
|
|
16
|
+
def summary
|
|
17
|
+
"AWS SDK for Ruby - #{@service.short_name}"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @return [String]
|
|
21
|
+
def description
|
|
22
|
+
if @service.short_name != @service.full_name
|
|
23
|
+
abbreviation = " (#{@service.short_name})"
|
|
24
|
+
end
|
|
25
|
+
desc = "Official AWS Ruby gem for #{@service.full_name}#{abbreviation}. "
|
|
26
|
+
desc += 'This gem is part of the AWS SDK for Ruby.'
|
|
27
|
+
desc
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @return [Array<Dependency>]
|
|
31
|
+
def dependencies
|
|
32
|
+
@service.gem_dependencies.map do |gem, version|
|
|
33
|
+
Dependency.new(gem, version)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
Dependency = Struct.new(:gem, :version)
|
|
38
|
+
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
require 'set'
|
|
2
|
+
|
|
3
|
+
module AwsSdkCodeGenerator
|
|
4
|
+
module Views
|
|
5
|
+
class ServiceModule < View
|
|
6
|
+
|
|
7
|
+
# @option options [required, Service] :service
|
|
8
|
+
def initialize(options)
|
|
9
|
+
@service = options.fetch(:service)
|
|
10
|
+
@prefix = options.fetch(:prefix)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def full_name
|
|
14
|
+
@service.full_name
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def gem_name
|
|
18
|
+
@service.gem_name
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def gem_version
|
|
22
|
+
@service.gem_version
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def name
|
|
26
|
+
@service.name
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def module_name
|
|
30
|
+
@service.module_name
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def modules
|
|
34
|
+
parts = module_name.split('::')
|
|
35
|
+
(0...parts.size).map do |n|
|
|
36
|
+
parts[0..n].join('::')
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @return [Array<String>]
|
|
41
|
+
def requires
|
|
42
|
+
@service.gem_dependencies.keys
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# @return [Array<String>]
|
|
46
|
+
def relative_requires
|
|
47
|
+
paths = Set.new
|
|
48
|
+
paths << "#{prefix}/types"
|
|
49
|
+
paths << "#{prefix}/client_api"
|
|
50
|
+
paths << "#{prefix}/client"
|
|
51
|
+
paths << "#{prefix}/errors"
|
|
52
|
+
paths << "#{prefix}/waiters" if @service.waiters
|
|
53
|
+
paths << "#{prefix}/resource"
|
|
54
|
+
if @service.resources && @service.resources['resources']
|
|
55
|
+
@service.resources['resources'].keys.each do |resource_name|
|
|
56
|
+
path = "#{prefix}/#{underscore(resource_name)}"
|
|
57
|
+
if paths.include?(path)
|
|
58
|
+
raise "resource path conflict for `#{resource_name}'"
|
|
59
|
+
else
|
|
60
|
+
paths << path
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
paths << "#{prefix}/customizations"
|
|
65
|
+
paths.to_a
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def example_var_name
|
|
69
|
+
underscore(name)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def example_operation_name
|
|
73
|
+
underscore(@service.api['operations'].keys.first)
|
|
74
|
+
nil
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
private
|
|
78
|
+
|
|
79
|
+
def prefix
|
|
80
|
+
@prefix
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Views
|
|
3
|
+
module Spec
|
|
4
|
+
class SpecHelper < View
|
|
5
|
+
|
|
6
|
+
self.template_file = "#{self.template_path}/spec/spec_helper.mustache"
|
|
7
|
+
|
|
8
|
+
# @param [Hash] options
|
|
9
|
+
# @option options [required, Service] :service
|
|
10
|
+
def initialize(options)
|
|
11
|
+
service = options.fetch(:service)
|
|
12
|
+
@gem_name = service.gem_name
|
|
13
|
+
@gem_dependencies = service.gem_dependencies.map do |gem_name, _|
|
|
14
|
+
{ dependency: gem_name }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
attr_reader :gem_name
|
|
19
|
+
attr_reader :gem_dependencies
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Views
|
|
3
|
+
class Version < View
|
|
4
|
+
|
|
5
|
+
# @option options [required, Service] :service
|
|
6
|
+
def initialize(options)
|
|
7
|
+
@service = options.fetch(:service)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def version
|
|
11
|
+
@service.gem_version
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: aws-sdk-code-generator
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0.pre
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Amazon Web Services
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2016-12-10 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description: Generates the service code for the AWS SDK for Ruby
|
|
14
|
+
email:
|
|
15
|
+
- trevrowe@amazon.com
|
|
16
|
+
executables: []
|
|
17
|
+
extensions: []
|
|
18
|
+
extra_rdoc_files: []
|
|
19
|
+
files:
|
|
20
|
+
- lib/aws-sdk-code-generator.rb
|
|
21
|
+
- lib/aws-sdk-code-generator/apply_docs.rb
|
|
22
|
+
- lib/aws-sdk-code-generator/code_builder.rb
|
|
23
|
+
- lib/aws-sdk-code-generator/dsl/access_control_statement.rb
|
|
24
|
+
- lib/aws-sdk-code-generator/dsl/attribute_accessor.rb
|
|
25
|
+
- lib/aws-sdk-code-generator/dsl/attribute_reader.rb
|
|
26
|
+
- lib/aws-sdk-code-generator/dsl/attribute_writer.rb
|
|
27
|
+
- lib/aws-sdk-code-generator/dsl/autoload_statement.rb
|
|
28
|
+
- lib/aws-sdk-code-generator/dsl/block_param.rb
|
|
29
|
+
- lib/aws-sdk-code-generator/dsl/class.rb
|
|
30
|
+
- lib/aws-sdk-code-generator/dsl/code_literal.rb
|
|
31
|
+
- lib/aws-sdk-code-generator/dsl/code_object.rb
|
|
32
|
+
- lib/aws-sdk-code-generator/dsl/docstring.rb
|
|
33
|
+
- lib/aws-sdk-code-generator/dsl/eigenclass.rb
|
|
34
|
+
- lib/aws-sdk-code-generator/dsl/extend_statement.rb
|
|
35
|
+
- lib/aws-sdk-code-generator/dsl/formatter.rb
|
|
36
|
+
- lib/aws-sdk-code-generator/dsl/include_statement.rb
|
|
37
|
+
- lib/aws-sdk-code-generator/dsl/main.rb
|
|
38
|
+
- lib/aws-sdk-code-generator/dsl/method.rb
|
|
39
|
+
- lib/aws-sdk-code-generator/dsl/module.rb
|
|
40
|
+
- lib/aws-sdk-code-generator/dsl/option_tag.rb
|
|
41
|
+
- lib/aws-sdk-code-generator/dsl/param.rb
|
|
42
|
+
- lib/aws-sdk-code-generator/dsl/param_list.rb
|
|
43
|
+
- lib/aws-sdk-code-generator/dsl/return_tag.rb
|
|
44
|
+
- lib/aws-sdk-code-generator/dsl/tag_default.rb
|
|
45
|
+
- lib/aws-sdk-code-generator/dsl/tag_docstring.rb
|
|
46
|
+
- lib/aws-sdk-code-generator/dsl/tag_type.rb
|
|
47
|
+
- lib/aws-sdk-code-generator/errors.rb
|
|
48
|
+
- lib/aws-sdk-code-generator/gem_builder.rb
|
|
49
|
+
- lib/aws-sdk-code-generator/generators/client_api_module.rb
|
|
50
|
+
- lib/aws-sdk-code-generator/generators/client_class.rb
|
|
51
|
+
- lib/aws-sdk-code-generator/generators/client_operation_documentation.rb
|
|
52
|
+
- lib/aws-sdk-code-generator/generators/errors_module.rb
|
|
53
|
+
- lib/aws-sdk-code-generator/generators/resource/action.rb
|
|
54
|
+
- lib/aws-sdk-code-generator/generators/resource/batch_builder.rb
|
|
55
|
+
- lib/aws-sdk-code-generator/generators/resource/builder.rb
|
|
56
|
+
- lib/aws-sdk-code-generator/generators/resource/client_getter.rb
|
|
57
|
+
- lib/aws-sdk-code-generator/generators/resource/client_request.rb
|
|
58
|
+
- lib/aws-sdk-code-generator/generators/resource/client_request_docs.rb
|
|
59
|
+
- lib/aws-sdk-code-generator/generators/resource/client_request_params.rb
|
|
60
|
+
- lib/aws-sdk-code-generator/generators/resource/collection_class.rb
|
|
61
|
+
- lib/aws-sdk-code-generator/generators/resource/data_attribute_getter.rb
|
|
62
|
+
- lib/aws-sdk-code-generator/generators/resource/data_loaded_method.rb
|
|
63
|
+
- lib/aws-sdk-code-generator/generators/resource/data_method.rb
|
|
64
|
+
- lib/aws-sdk-code-generator/generators/resource/exists_method.rb
|
|
65
|
+
- lib/aws-sdk-code-generator/generators/resource/extract_identifier_method.rb
|
|
66
|
+
- lib/aws-sdk-code-generator/generators/resource/has_association.rb
|
|
67
|
+
- lib/aws-sdk-code-generator/generators/resource/has_many_association.rb
|
|
68
|
+
- lib/aws-sdk-code-generator/generators/resource/identifier_getter.rb
|
|
69
|
+
- lib/aws-sdk-code-generator/generators/resource/identifiers_method.rb
|
|
70
|
+
- lib/aws-sdk-code-generator/generators/resource/initialize_method.rb
|
|
71
|
+
- lib/aws-sdk-code-generator/generators/resource/load_method.rb
|
|
72
|
+
- lib/aws-sdk-code-generator/generators/resource/value_source.rb
|
|
73
|
+
- lib/aws-sdk-code-generator/generators/resource/waiter_method.rb
|
|
74
|
+
- lib/aws-sdk-code-generator/generators/resource_class.rb
|
|
75
|
+
- lib/aws-sdk-code-generator/generators/response_structure_example.rb
|
|
76
|
+
- lib/aws-sdk-code-generator/generators/root_resource_class.rb
|
|
77
|
+
- lib/aws-sdk-code-generator/generators/service_documentation.rb
|
|
78
|
+
- lib/aws-sdk-code-generator/generators/shared_example.rb
|
|
79
|
+
- lib/aws-sdk-code-generator/generators/structure_type_class.rb
|
|
80
|
+
- lib/aws-sdk-code-generator/generators/syntax_example.rb
|
|
81
|
+
- lib/aws-sdk-code-generator/generators/types_module.rb
|
|
82
|
+
- lib/aws-sdk-code-generator/generators/waiter_class.rb
|
|
83
|
+
- lib/aws-sdk-code-generator/generators/waiters_module.rb
|
|
84
|
+
- lib/aws-sdk-code-generator/hash_formatter.rb
|
|
85
|
+
- lib/aws-sdk-code-generator/helper.rb
|
|
86
|
+
- lib/aws-sdk-code-generator/service.rb
|
|
87
|
+
- lib/aws-sdk-code-generator/underscore.rb
|
|
88
|
+
- lib/aws-sdk-code-generator/view.rb
|
|
89
|
+
- lib/aws-sdk-code-generator/views.rb
|
|
90
|
+
- lib/aws-sdk-code-generator/views/features/env.rb
|
|
91
|
+
- lib/aws-sdk-code-generator/views/features/step_definitions.rb
|
|
92
|
+
- lib/aws-sdk-code-generator/views/gemspec.rb
|
|
93
|
+
- lib/aws-sdk-code-generator/views/service_module.rb
|
|
94
|
+
- lib/aws-sdk-code-generator/views/spec/spec_helper.rb
|
|
95
|
+
- lib/aws-sdk-code-generator/views/version.rb
|
|
96
|
+
homepage: http://github.com/aws/aws-sdk-ruby
|
|
97
|
+
licenses:
|
|
98
|
+
- Apache 2.0
|
|
99
|
+
metadata: {}
|
|
100
|
+
post_install_message:
|
|
101
|
+
rdoc_options: []
|
|
102
|
+
require_paths:
|
|
103
|
+
- lib
|
|
104
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
|
+
requirements:
|
|
106
|
+
- - ">="
|
|
107
|
+
- !ruby/object:Gem::Version
|
|
108
|
+
version: '0'
|
|
109
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
|
+
requirements:
|
|
111
|
+
- - ">"
|
|
112
|
+
- !ruby/object:Gem::Version
|
|
113
|
+
version: 1.3.1
|
|
114
|
+
requirements: []
|
|
115
|
+
rubyforge_project:
|
|
116
|
+
rubygems_version: 2.5.1
|
|
117
|
+
signing_key:
|
|
118
|
+
specification_version: 4
|
|
119
|
+
summary: AWS SDK for Ruby - Code Generator
|
|
120
|
+
test_files: []
|