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,167 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Dsl
|
|
3
|
+
class Module < Dsl::Main
|
|
4
|
+
|
|
5
|
+
include Dsl::CodeObject
|
|
6
|
+
|
|
7
|
+
# @option options [Main, Module] :parent (nil)
|
|
8
|
+
def initialize(name, options = {}, &block)
|
|
9
|
+
@name = name
|
|
10
|
+
@code_objects = []
|
|
11
|
+
@access = :public
|
|
12
|
+
@parent = options.fetch(:parent, nil)
|
|
13
|
+
@docstring = Dsl::Docstring.new(nil)
|
|
14
|
+
yield(self) if block
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
attr_reader :name
|
|
18
|
+
|
|
19
|
+
def add(*code_objects)
|
|
20
|
+
code_objects.each do |code_object|
|
|
21
|
+
if Dsl::Method === code_object && code_object.access != @access
|
|
22
|
+
add(AccessControlStatement.new(code_object.access))
|
|
23
|
+
elsif Dsl::AccessControlStatement === code_object
|
|
24
|
+
@access = code_object.access
|
|
25
|
+
end
|
|
26
|
+
super(code_object)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def require_statement(path)
|
|
31
|
+
root.require(path)
|
|
32
|
+
end
|
|
33
|
+
alias require require_statement
|
|
34
|
+
|
|
35
|
+
def docstring(docstring = nil)
|
|
36
|
+
@docstring ||= Dsl::Docstring.new
|
|
37
|
+
@docstring.append(docstring) unless docstring.nil?
|
|
38
|
+
@docstring
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def require_relative(path)
|
|
42
|
+
root.require_relative(path)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def constructor(options = {}, &block)
|
|
46
|
+
method(:initialize, options, &block)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def attr_accessor(name, options = {}, &block)
|
|
50
|
+
a = Dsl::AttributeAccessor.new(name, options)
|
|
51
|
+
yield(a) if block
|
|
52
|
+
add(a)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def autoload(const_name, path)
|
|
56
|
+
@code_objects << AutoloadStatement.new(const_name, path)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def attr_reader(name, options = {}, &block)
|
|
60
|
+
a = Dsl::AttributeReader.new(name, options)
|
|
61
|
+
yield(a) if block
|
|
62
|
+
add(a)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def attr_writer(name, &block)
|
|
66
|
+
a = Dsl::AttributeWriter.new(name)
|
|
67
|
+
yield(a) if block
|
|
68
|
+
add(a)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def eigenclass(&block)
|
|
72
|
+
m = Dsl::Eigenclass.new
|
|
73
|
+
yield(m) if block
|
|
74
|
+
add(m)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def lines
|
|
78
|
+
code = []
|
|
79
|
+
code.concat(@docstring.lines)
|
|
80
|
+
code += open_module
|
|
81
|
+
code << :newline if padded?(0)
|
|
82
|
+
|
|
83
|
+
@code_objects.each.with_index do |code_object, n|
|
|
84
|
+
code << code_object.lines
|
|
85
|
+
code << :newline if separator?(n)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
if @code_objects.empty?
|
|
89
|
+
code[-1] += "; end"
|
|
90
|
+
else
|
|
91
|
+
code += close_module
|
|
92
|
+
end
|
|
93
|
+
code
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
private
|
|
97
|
+
|
|
98
|
+
def open_module
|
|
99
|
+
["module #{@name}"]
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def close_module
|
|
103
|
+
["end"]
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def padded?(n)
|
|
107
|
+
!@code_objects[n].kind_of?(Dsl::Module) &&
|
|
108
|
+
!(
|
|
109
|
+
@code_objects.all? { |obj| autoload_statement?(obj) } ||
|
|
110
|
+
@code_objects.all? { |obj| mixin?(obj) } ||
|
|
111
|
+
@code_objects.all? { |obj| undocumented_attr_macro?(obj) }
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def separator?(n)
|
|
116
|
+
if last?(n)
|
|
117
|
+
padded?(@code_objects.size - 1)
|
|
118
|
+
elsif grouped_statements?(n)
|
|
119
|
+
false
|
|
120
|
+
else
|
|
121
|
+
true
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def last?(n)
|
|
126
|
+
@code_objects.size == n + 1
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def grouped_statements?(n)
|
|
130
|
+
two_autoloads?(n) ||
|
|
131
|
+
two_mixins?(n) ||
|
|
132
|
+
two_undocumented_attr_macros?(n)
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def two_autoloads?(n)
|
|
136
|
+
@code_objects[n + 1] &&
|
|
137
|
+
autoload_statement?(@code_objects[n + 1]) &&
|
|
138
|
+
autoload_statement?(@code_objects[n])
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def two_mixins?(n)
|
|
142
|
+
@code_objects[n + 1] &&
|
|
143
|
+
mixin?(@code_objects[n + 1]) &&
|
|
144
|
+
mixin?(@code_objects[n])
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def two_undocumented_attr_macros?(n)
|
|
148
|
+
@code_objects[n + 1] &&
|
|
149
|
+
undocumented_attr_macro?(@code_objects[n + 1]) &&
|
|
150
|
+
undocumented_attr_macro?(@code_objects[n])
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
def autoload_statement?(code_object)
|
|
154
|
+
Dsl::AutoloadStatement === code_object
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def mixin?(code_object)
|
|
158
|
+
Dsl::IncludeStatement === code_object
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def undocumented_attr_macro?(code_object)
|
|
162
|
+
Dsl::AttributeAccessor === code_object && !code_object.documented?
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Dsl
|
|
3
|
+
class OptionTag
|
|
4
|
+
|
|
5
|
+
# @option options [required, String] :name
|
|
6
|
+
# @option options [required, String] :type
|
|
7
|
+
# @option options [String] :param ('options')
|
|
8
|
+
# @option options [Boolean] :required (false)
|
|
9
|
+
# @option options [String, nil] :docstring (nil)
|
|
10
|
+
# @option options [Object] :default
|
|
11
|
+
def initialize(options)
|
|
12
|
+
@name = options.fetch(:name)
|
|
13
|
+
@type = options.fetch(:type)
|
|
14
|
+
@param = options.fetch(:param, 'options')
|
|
15
|
+
@required = options.fetch(:required, false) ? 'required, ' : ''
|
|
16
|
+
@docstring = Dsl::TagDocstring.new(options.fetch(:docstring, nil))
|
|
17
|
+
@default = Dsl::TagDefault.new(options.fetch(:default, nil))
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def lines
|
|
21
|
+
[first_line] + @docstring.lines
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def first_line
|
|
27
|
+
"# @option #{@param} [#{@required}#{@type}] :#{@name}#{yard_default}"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def yard_default
|
|
31
|
+
@default.empty? ? '' : " (#{@default})"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Dsl
|
|
3
|
+
class Param
|
|
4
|
+
|
|
5
|
+
# @option options [String] :type
|
|
6
|
+
# @option options [Object] :default
|
|
7
|
+
# @option options [String] :docstring
|
|
8
|
+
# @option options [Boolean] :documented (true)
|
|
9
|
+
def initialize(name, options = {})
|
|
10
|
+
@name = name.to_s
|
|
11
|
+
@type = TagType.new(options.fetch(:type, nil))
|
|
12
|
+
@default = TagDefault.new(options.fetch(:default, nil))
|
|
13
|
+
@docstring = TagDocstring.new(options.fetch(:docstring, nil))
|
|
14
|
+
@documented = options.fetch(:documented, true)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
attr_reader :name, :default
|
|
18
|
+
|
|
19
|
+
def documented?
|
|
20
|
+
!!@documented
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def tag
|
|
24
|
+
if [@type, @default, @docstring].all?(&:empty?)
|
|
25
|
+
[]
|
|
26
|
+
else
|
|
27
|
+
[first_line] + @docstring.lines
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def first_line
|
|
34
|
+
"# @param#{@type} #{@name}#{yard_default}"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def yard_default
|
|
38
|
+
@default.empty? ? '' : " (#{@default})"
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Dsl
|
|
3
|
+
# @api private
|
|
4
|
+
class ParamList
|
|
5
|
+
|
|
6
|
+
def initialize(params)
|
|
7
|
+
@params = params
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def signature
|
|
11
|
+
if @params.empty?
|
|
12
|
+
nil
|
|
13
|
+
else
|
|
14
|
+
"(#{@params.map { |p| param_signature(p) }.join(', ')})"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def tags
|
|
19
|
+
lines = []
|
|
20
|
+
@params.each do |param|
|
|
21
|
+
lines.concat(param.tag) if param.documented?
|
|
22
|
+
end
|
|
23
|
+
lines
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
def param_signature(param)
|
|
29
|
+
if param.default.empty?
|
|
30
|
+
param.name
|
|
31
|
+
else
|
|
32
|
+
"#{param.name} = #{param.default}"
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Dsl
|
|
3
|
+
# @api private
|
|
4
|
+
class ReturnTag
|
|
5
|
+
|
|
6
|
+
# @option options [required, String] :type
|
|
7
|
+
# @option options [String] :docstring
|
|
8
|
+
def initialize(options)
|
|
9
|
+
@type = Dsl::TagType.new(options.fetch(:type))
|
|
10
|
+
@docstring = Dsl::TagDocstring.new(options.fetch(:docstring, nil))
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def lines
|
|
14
|
+
["# @return#{@type}"] + @docstring.lines
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Dsl
|
|
3
|
+
# @api private
|
|
4
|
+
class TagDocstring
|
|
5
|
+
|
|
6
|
+
def initialize(docstring)
|
|
7
|
+
@lines = docstring.to_s.strip.lines.inject([]) do |lines, line|
|
|
8
|
+
line = line.rstrip
|
|
9
|
+
if line.empty?
|
|
10
|
+
lines << "#"
|
|
11
|
+
else
|
|
12
|
+
lines << "# #{line.rstrip}"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# @return Array<String>
|
|
18
|
+
attr_reader :lines
|
|
19
|
+
|
|
20
|
+
# @return [Boolean]
|
|
21
|
+
def empty?
|
|
22
|
+
@lines.empty?
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Dsl
|
|
3
|
+
# @api private
|
|
4
|
+
class TagType < String
|
|
5
|
+
|
|
6
|
+
def self.new(type)
|
|
7
|
+
if type
|
|
8
|
+
types = Array(type)
|
|
9
|
+
types = types.map { |t| t.nil? ? 'nil' : t.to_s }
|
|
10
|
+
super(types.empty? ? '' : " [#{types.join(', ')}]")
|
|
11
|
+
else
|
|
12
|
+
super('')
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
module Errors
|
|
3
|
+
|
|
4
|
+
# Raised when generating resource classes that attempt to redefine
|
|
5
|
+
# a method. This can happen when any of the following have the
|
|
6
|
+
# same name:
|
|
7
|
+
#
|
|
8
|
+
# * attributes (as defined in the resource shape members)
|
|
9
|
+
# * actions
|
|
10
|
+
# * has associations
|
|
11
|
+
# * has many associations
|
|
12
|
+
# * waiters
|
|
13
|
+
# * batch actions
|
|
14
|
+
#
|
|
15
|
+
# Additionally this can happen if the resource attempts to
|
|
16
|
+
# redefine methods from Ruby Object.
|
|
17
|
+
class ResourceMethodConflict < RuntimeError
|
|
18
|
+
|
|
19
|
+
# @option options [required, String] :resource_name
|
|
20
|
+
# @option options [required, String] :method_name
|
|
21
|
+
def initialize(options)
|
|
22
|
+
resource_name = options.fetch(:resource_name)
|
|
23
|
+
method_name = options.fetch(:method_name)
|
|
24
|
+
super("#{resource_name} is attempting to redefine ##{method_name}")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
module AwsSdkCodeGenerator
|
|
2
|
+
class GemBuilder
|
|
3
|
+
|
|
4
|
+
# @param [Hash] options
|
|
5
|
+
# @option options [required, Service] :service
|
|
6
|
+
def initialize(options)
|
|
7
|
+
@options = options
|
|
8
|
+
@service = options.fetch(:service)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# @return [Hash]
|
|
12
|
+
attr_reader :options
|
|
13
|
+
|
|
14
|
+
def each(&block)
|
|
15
|
+
Enumerator.new do |y|
|
|
16
|
+
y.yield(gemspec_path, gemspec_file)
|
|
17
|
+
y.yield(features_env_path, features_env_file)
|
|
18
|
+
y.yield(features_step_definitions_path, features_step_definitions_file)
|
|
19
|
+
y.yield(spec_helper_path, spec_helper_file)
|
|
20
|
+
y.yield(version_path, version_file)
|
|
21
|
+
code = CodeBuilder.new(@options)
|
|
22
|
+
code.source_files(prefix: @service.gem_name).each do |path, code|
|
|
23
|
+
y.yield("lib/#{path}", code)
|
|
24
|
+
end
|
|
25
|
+
end.each(&block)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
def gemspec_path
|
|
31
|
+
"#{@service.gem_name}.gemspec"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def gemspec_file
|
|
35
|
+
Views::Gemspec.new(options).render
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def features_env_path
|
|
39
|
+
'features/env.rb'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def features_env_file
|
|
43
|
+
Views::Features::Env.new(options).render
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def features_step_definitions_path
|
|
47
|
+
'features/step_definitions.rb'
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def features_step_definitions_file
|
|
51
|
+
Views::Features::StepDefinitions.new(options).render
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def spec_helper_path
|
|
55
|
+
'spec/spec_helper.rb'
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def spec_helper_file
|
|
59
|
+
Views::Spec::SpecHelper.new(options).render
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def version_path
|
|
63
|
+
'VERSION'
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def version_file
|
|
67
|
+
Views::Version.new(options).render
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end
|
|
71
|
+
end
|