rails_ops 1.1.15 → 1.1.20
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 +4 -4
- data/CHANGELOG.md +23 -1
- data/{LICENSE.txt → LICENSE} +1 -1
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/rails_ops/controller_mixin.rb +2 -1
- data/lib/rails_ops/mixins/model/nesting.rb +7 -1
- data/lib/rails_ops/mixins/schema_validation.rb +12 -6
- data/lib/rails_ops/operation.rb +6 -2
- data/lib/rails_ops/operation/model.rb +1 -4
- data/lib/rails_ops/operation/model/create.rb +1 -1
- data/rails_ops.gemspec +6 -6
- metadata +11 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d65a63f28c458711e43e8059f0464af8548434b176ceeec24029bfcd062fe8dd
|
4
|
+
data.tar.gz: 94df1eee33cd5bfb6ee073284f3dc13eb2a8715d7db8cd832f4c4230427ca140
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c2731d7474ab992b44ddf9b4c5c3d5930528f99d4b48c17af5e314e4900e90c7c3b6ecd2b8374248c06305da3b0e23087de12091c74ab18d98fc83df3484386
|
7
|
+
data.tar.gz: 242a67362fe2163f7c9a6645615db3b247d0d20c62ac6c6553820df4a68b70bd5ec29bd3dcbd45a30dc50ae013cb19d4c04cb95478b476b63a5327f6a60c6e1b
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,28 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## 1.1.
|
3
|
+
## 1.1.20 (2021-02-18)
|
4
|
+
|
5
|
+
* Fix warnings with Ruby 2.7
|
6
|
+
|
7
|
+
## 1.1.19 (2021-02-16)
|
8
|
+
|
9
|
+
* Fix warnings with Ruby 2.7
|
10
|
+
|
11
|
+
## 1.1.18 (2021-02-16)
|
12
|
+
|
13
|
+
* Adapt signature of `schema3` method to support other types than hashes
|
14
|
+
|
15
|
+
## 1.1.17 (2021-02-10)
|
16
|
+
|
17
|
+
* Add operation class method `skip_schema_validation`
|
18
|
+
|
19
|
+
* Add operation instance method `validate_op_schema!`
|
20
|
+
|
21
|
+
## 1.1.16 (2021-01-26)
|
22
|
+
|
23
|
+
* Update dependency to support `schemacop` version 3
|
24
|
+
|
25
|
+
## 1.1.15 (2021-01-06)
|
4
26
|
|
5
27
|
* Allow `active_type >= 1.3.0`
|
6
28
|
|
data/{LICENSE.txt → LICENSE}
RENAMED
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -23,7 +23,7 @@ task :gemspec do
|
|
23
23
|
spec.add_dependency 'minitest'
|
24
24
|
spec.add_dependency 'rails'
|
25
25
|
spec.add_dependency 'request_store'
|
26
|
-
spec.add_dependency 'schemacop', '
|
26
|
+
spec.add_dependency 'schemacop', '>= 2.4.2', '<= 3.1'
|
27
27
|
end
|
28
28
|
|
29
29
|
File.open('rails_ops.gemspec', 'w') { |f| f.write(gemspec.to_ruby.strip) }
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.20
|
@@ -47,7 +47,7 @@ module RailsOps
|
|
47
47
|
|
48
48
|
# Determines whether an operation has been set.
|
49
49
|
def op?
|
50
|
-
!!@op
|
50
|
+
defined?(@op) && !!@op
|
51
51
|
end
|
52
52
|
|
53
53
|
# If there is a current operation set, it is made sure that authorization
|
@@ -120,6 +120,7 @@ module RailsOps
|
|
120
120
|
protected
|
121
121
|
|
122
122
|
def set_op_class(op_class, custom_params = nil)
|
123
|
+
@op_class ||= nil
|
123
124
|
fail 'Operation class is already set.' if @op_class
|
124
125
|
@op_class = op_class
|
125
126
|
@op = instantiate_op(custom_params)
|
@@ -6,8 +6,14 @@ module RailsOps::Mixins::Model::Nesting
|
|
6
6
|
self._nested_model_ops = {}.freeze
|
7
7
|
|
8
8
|
attr_reader :nested_model_ops
|
9
|
+
|
10
|
+
policy :on_init do
|
11
|
+
@nested_model_ops_performed = false
|
12
|
+
@nested_model_ops = nil
|
13
|
+
end
|
9
14
|
end
|
10
15
|
|
16
|
+
|
11
17
|
module ClassMethods
|
12
18
|
def nest_model_op(attribute, klass, lookup_via_id_on_update: true, allow_id: false, ¶ms_block)
|
13
19
|
# ---------------------------------------------------------------
|
@@ -85,7 +91,7 @@ module RailsOps::Mixins::Model::Nesting
|
|
85
91
|
end
|
86
92
|
|
87
93
|
def nested_model_ops_performed?
|
88
|
-
@nested_model_ops_performed
|
94
|
+
@nested_model_ops_performed
|
89
95
|
end
|
90
96
|
|
91
97
|
protected
|
@@ -7,6 +7,9 @@ module RailsOps::Mixins::SchemaValidation
|
|
7
7
|
included do
|
8
8
|
class_attribute :_op_schema
|
9
9
|
self._op_schema = nil
|
10
|
+
|
11
|
+
class_attribute :_skip_op_schema_validation
|
12
|
+
self._skip_op_schema_validation = false
|
10
13
|
end
|
11
14
|
|
12
15
|
module ClassMethods
|
@@ -25,12 +28,8 @@ module RailsOps::Mixins::SchemaValidation
|
|
25
28
|
self._op_schema = Schemacop::Schema.new(*args, &block)
|
26
29
|
end
|
27
30
|
|
28
|
-
def schema3(
|
29
|
-
|
30
|
-
self._op_schema = Schemacop::Schema3.new(:reference, options.merge(path: reference))
|
31
|
-
else
|
32
|
-
self._op_schema = Schemacop::Schema3.new(:hash, **options, &block)
|
33
|
-
end
|
31
|
+
def schema3(type = :hash, *args, **kwargs, &block)
|
32
|
+
self._op_schema = Schemacop::Schema3.new(type, *args, **kwargs, &block)
|
34
33
|
end
|
35
34
|
|
36
35
|
def schema(*args, &block)
|
@@ -43,5 +42,12 @@ module RailsOps::Mixins::SchemaValidation
|
|
43
42
|
fail 'Schemacop schema versions supported are 2 and 3.'
|
44
43
|
end
|
45
44
|
end
|
45
|
+
|
46
|
+
# Skips the schema validation, even if a schema is defined. This allows you
|
47
|
+
# to manually call `validate_op_schema!`, i.e. inside of your `perform`
|
48
|
+
# method.
|
49
|
+
def skip_schema_validation(skip = true)
|
50
|
+
self._skip_op_schema_validation = skip
|
51
|
+
end
|
46
52
|
end
|
47
53
|
end
|
data/lib/rails_ops/operation.rb
CHANGED
@@ -61,13 +61,17 @@ class RailsOps::Operation
|
|
61
61
|
)
|
62
62
|
|
63
63
|
# Validate params
|
64
|
-
if _op_schema
|
65
|
-
|
64
|
+
if _op_schema && !_skip_op_schema_validation
|
65
|
+
validate_op_schema!
|
66
66
|
end
|
67
67
|
|
68
68
|
run_policies :on_init
|
69
69
|
end
|
70
70
|
|
71
|
+
def validate_op_schema!
|
72
|
+
@params = _op_schema.validate!(params).with_indifferent_access
|
73
|
+
end
|
74
|
+
|
71
75
|
# Returns an array of exception classes that are considered as validation
|
72
76
|
# errors.
|
73
77
|
def validation_errors
|
@@ -100,10 +100,7 @@ class RailsOps::Operation::Model < RailsOps::Operation
|
|
100
100
|
# Returns an instance of the operation model class. The instance is obtained
|
101
101
|
# using {build_model} and cached for the lifespan of the operation instance.
|
102
102
|
def model
|
103
|
-
unless @model
|
104
|
-
build_model
|
105
|
-
end
|
106
|
-
|
103
|
+
build_model unless defined?(@model) && @model
|
107
104
|
return @model
|
108
105
|
end
|
109
106
|
|
@@ -20,7 +20,7 @@ class RailsOps::Operation::Model::Create < RailsOps::Operation::Model
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def build_model
|
23
|
-
fail 'Model can only be built once.' if @model
|
23
|
+
fail 'Model can only be built once.' if defined?(@model) && @model
|
24
24
|
@model = self.class.model.new
|
25
25
|
if @model.respond_to?(:parent_op=)
|
26
26
|
@model.parent_op = self
|
data/rails_ops.gemspec
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: rails_ops 1.1.
|
2
|
+
# stub: rails_ops 1.1.20 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "rails_ops".freeze
|
6
|
-
s.version = "1.1.
|
6
|
+
s.version = "1.1.20"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["Sitrox".freeze]
|
11
|
-
s.date = "2021-
|
12
|
-
s.files = [".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, ".travis.yml".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE
|
11
|
+
s.date = "2021-02-18"
|
12
|
+
s.files = [".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, ".travis.yml".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "lib/rails_ops.rb".freeze, "lib/rails_ops/authorization_backend/abstract.rb".freeze, "lib/rails_ops/authorization_backend/can_can_can.rb".freeze, "lib/rails_ops/configuration.rb".freeze, "lib/rails_ops/context.rb".freeze, "lib/rails_ops/controller_mixin.rb".freeze, "lib/rails_ops/exceptions.rb".freeze, "lib/rails_ops/hooked_job.rb".freeze, "lib/rails_ops/hookup.rb".freeze, "lib/rails_ops/hookup/dsl.rb".freeze, "lib/rails_ops/hookup/dsl_validator.rb".freeze, "lib/rails_ops/hookup/hook.rb".freeze, "lib/rails_ops/log_subscriber.rb".freeze, "lib/rails_ops/mixins.rb".freeze, "lib/rails_ops/mixins/authorization.rb".freeze, "lib/rails_ops/mixins/log_settings.rb".freeze, "lib/rails_ops/mixins/model.rb".freeze, "lib/rails_ops/mixins/model/authorization.rb".freeze, "lib/rails_ops/mixins/model/nesting.rb".freeze, "lib/rails_ops/mixins/param_authorization.rb".freeze, "lib/rails_ops/mixins/policies.rb".freeze, "lib/rails_ops/mixins/require_context.rb".freeze, "lib/rails_ops/mixins/routes.rb".freeze, "lib/rails_ops/mixins/schema_validation.rb".freeze, "lib/rails_ops/mixins/sub_ops.rb".freeze, "lib/rails_ops/model_casting.rb".freeze, "lib/rails_ops/model_mixins.rb".freeze, "lib/rails_ops/model_mixins/ar_extension.rb".freeze, "lib/rails_ops/model_mixins/parent_op.rb".freeze, "lib/rails_ops/model_mixins/virtual_attributes.rb".freeze, "lib/rails_ops/model_mixins/virtual_attributes/virtual_column_wrapper.rb".freeze, "lib/rails_ops/model_mixins/virtual_has_one.rb".freeze, "lib/rails_ops/model_mixins/virtual_model_name.rb".freeze, "lib/rails_ops/operation.rb".freeze, "lib/rails_ops/operation/model.rb".freeze, "lib/rails_ops/operation/model/create.rb".freeze, "lib/rails_ops/operation/model/destroy.rb".freeze, "lib/rails_ops/operation/model/load.rb".freeze, "lib/rails_ops/operation/model/update.rb".freeze, "lib/rails_ops/patches/active_type_patch.rb".freeze, "lib/rails_ops/profiler.rb".freeze, "lib/rails_ops/profiler/node.rb".freeze, "lib/rails_ops/railtie.rb".freeze, "lib/rails_ops/scoped_env.rb".freeze, "lib/rails_ops/virtual_model.rb".freeze, "rails_ops.gemspec".freeze, "test/db/models.rb".freeze, "test/db/schema.rb".freeze, "test/dummy/Rakefile".freeze, "test/dummy/app/assets/config/manifest.js".freeze, "test/dummy/app/assets/images/.keep".freeze, "test/dummy/app/assets/javascripts/application.js".freeze, "test/dummy/app/assets/javascripts/cable.js".freeze, "test/dummy/app/assets/javascripts/channels/.keep".freeze, "test/dummy/app/assets/stylesheets/application.css".freeze, "test/dummy/app/channels/application_cable/channel.rb".freeze, "test/dummy/app/channels/application_cable/connection.rb".freeze, "test/dummy/app/controllers/application_controller.rb".freeze, "test/dummy/app/controllers/concerns/.keep".freeze, "test/dummy/app/helpers/application_helper.rb".freeze, "test/dummy/app/jobs/application_job.rb".freeze, "test/dummy/app/mailers/application_mailer.rb".freeze, "test/dummy/app/models/application_record.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/group.rb".freeze, "test/dummy/app/views/layouts/application.html.erb".freeze, "test/dummy/app/views/layouts/mailer.html.erb".freeze, "test/dummy/app/views/layouts/mailer.text.erb".freeze, "test/dummy/bin/bundle".freeze, "test/dummy/bin/rails".freeze, "test/dummy/bin/rake".freeze, "test/dummy/bin/setup".freeze, "test/dummy/bin/update".freeze, "test/dummy/bin/yarn".freeze, "test/dummy/config.ru".freeze, "test/dummy/config/application.rb".freeze, "test/dummy/config/boot.rb".freeze, "test/dummy/config/cable.yml".freeze, "test/dummy/config/database.yml".freeze, "test/dummy/config/environment.rb".freeze, "test/dummy/config/environments/development.rb".freeze, "test/dummy/config/environments/production.rb".freeze, "test/dummy/config/environments/test.rb".freeze, "test/dummy/config/initializers/application_controller_renderer.rb".freeze, "test/dummy/config/initializers/assets.rb".freeze, "test/dummy/config/initializers/backtrace_silencers.rb".freeze, "test/dummy/config/initializers/cookies_serializer.rb".freeze, "test/dummy/config/initializers/filter_parameter_logging.rb".freeze, "test/dummy/config/initializers/inflections.rb".freeze, "test/dummy/config/initializers/mime_types.rb".freeze, "test/dummy/config/initializers/rails_ops.rb".freeze, "test/dummy/config/initializers/wrap_parameters.rb".freeze, "test/dummy/config/locales/en.yml".freeze, "test/dummy/config/puma.rb".freeze, "test/dummy/config/routes.rb".freeze, "test/dummy/config/secrets.yml".freeze, "test/dummy/config/spring.rb".freeze, "test/dummy/db/schema.rb".freeze, "test/dummy/lib/assets/.keep".freeze, "test/dummy/log/.keep".freeze, "test/dummy/package.json".freeze, "test/dummy/public/404.html".freeze, "test/dummy/public/422.html".freeze, "test/dummy/public/500.html".freeze, "test/dummy/public/apple-touch-icon-precomposed.png".freeze, "test/dummy/public/apple-touch-icon.png".freeze, "test/dummy/public/favicon.ico".freeze, "test/dummy/tmp/.keep".freeze, "test/test_helper.rb".freeze, "test/unit/rails_ops/mixins/model/nesting.rb".freeze, "test/unit/rails_ops/mixins/policies_test.rb".freeze, "test/unit/rails_ops/operation/model/create_test.rb".freeze, "test/unit/rails_ops/operation/model/load_test.rb".freeze, "test/unit/rails_ops/operation/model/update_test.rb".freeze, "test/unit/rails_ops/operation/model_test.rb".freeze, "test/unit/rails_ops/operation_test.rb".freeze]
|
13
13
|
s.rubygems_version = "3.1.4".freeze
|
14
14
|
s.summary = "An operations service layer for rails projects.".freeze
|
15
15
|
s.test_files = ["test/db/models.rb".freeze, "test/db/schema.rb".freeze, "test/dummy/Rakefile".freeze, "test/dummy/app/assets/config/manifest.js".freeze, "test/dummy/app/assets/images/.keep".freeze, "test/dummy/app/assets/javascripts/application.js".freeze, "test/dummy/app/assets/javascripts/cable.js".freeze, "test/dummy/app/assets/javascripts/channels/.keep".freeze, "test/dummy/app/assets/stylesheets/application.css".freeze, "test/dummy/app/channels/application_cable/channel.rb".freeze, "test/dummy/app/channels/application_cable/connection.rb".freeze, "test/dummy/app/controllers/application_controller.rb".freeze, "test/dummy/app/controllers/concerns/.keep".freeze, "test/dummy/app/helpers/application_helper.rb".freeze, "test/dummy/app/jobs/application_job.rb".freeze, "test/dummy/app/mailers/application_mailer.rb".freeze, "test/dummy/app/models/application_record.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/group.rb".freeze, "test/dummy/app/views/layouts/application.html.erb".freeze, "test/dummy/app/views/layouts/mailer.html.erb".freeze, "test/dummy/app/views/layouts/mailer.text.erb".freeze, "test/dummy/bin/bundle".freeze, "test/dummy/bin/rails".freeze, "test/dummy/bin/rake".freeze, "test/dummy/bin/setup".freeze, "test/dummy/bin/update".freeze, "test/dummy/bin/yarn".freeze, "test/dummy/config.ru".freeze, "test/dummy/config/application.rb".freeze, "test/dummy/config/boot.rb".freeze, "test/dummy/config/cable.yml".freeze, "test/dummy/config/database.yml".freeze, "test/dummy/config/environment.rb".freeze, "test/dummy/config/environments/development.rb".freeze, "test/dummy/config/environments/production.rb".freeze, "test/dummy/config/environments/test.rb".freeze, "test/dummy/config/initializers/application_controller_renderer.rb".freeze, "test/dummy/config/initializers/assets.rb".freeze, "test/dummy/config/initializers/backtrace_silencers.rb".freeze, "test/dummy/config/initializers/cookies_serializer.rb".freeze, "test/dummy/config/initializers/filter_parameter_logging.rb".freeze, "test/dummy/config/initializers/inflections.rb".freeze, "test/dummy/config/initializers/mime_types.rb".freeze, "test/dummy/config/initializers/rails_ops.rb".freeze, "test/dummy/config/initializers/wrap_parameters.rb".freeze, "test/dummy/config/locales/en.yml".freeze, "test/dummy/config/puma.rb".freeze, "test/dummy/config/routes.rb".freeze, "test/dummy/config/secrets.yml".freeze, "test/dummy/config/spring.rb".freeze, "test/dummy/db/schema.rb".freeze, "test/dummy/lib/assets/.keep".freeze, "test/dummy/log/.keep".freeze, "test/dummy/package.json".freeze, "test/dummy/public/404.html".freeze, "test/dummy/public/422.html".freeze, "test/dummy/public/500.html".freeze, "test/dummy/public/apple-touch-icon-precomposed.png".freeze, "test/dummy/public/apple-touch-icon.png".freeze, "test/dummy/public/favicon.ico".freeze, "test/dummy/tmp/.keep".freeze, "test/test_helper.rb".freeze, "test/unit/rails_ops/mixins/model/nesting.rb".freeze, "test/unit/rails_ops/mixins/policies_test.rb".freeze, "test/unit/rails_ops/operation/model/create_test.rb".freeze, "test/unit/rails_ops/operation/model/load_test.rb".freeze, "test/unit/rails_ops/operation/model/update_test.rb".freeze, "test/unit/rails_ops/operation/model_test.rb".freeze, "test/unit/rails_ops/operation_test.rb".freeze]
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
|
|
27
27
|
s.add_runtime_dependency(%q<minitest>.freeze, [">= 0"])
|
28
28
|
s.add_runtime_dependency(%q<rails>.freeze, [">= 0"])
|
29
29
|
s.add_runtime_dependency(%q<request_store>.freeze, [">= 0"])
|
30
|
-
s.add_runtime_dependency(%q<schemacop>.freeze, ["
|
30
|
+
s.add_runtime_dependency(%q<schemacop>.freeze, [">= 2.4.2", "<= 3.1"])
|
31
31
|
else
|
32
32
|
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
33
33
|
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
@@ -37,6 +37,6 @@ Gem::Specification.new do |s|
|
|
37
37
|
s.add_dependency(%q<minitest>.freeze, [">= 0"])
|
38
38
|
s.add_dependency(%q<rails>.freeze, [">= 0"])
|
39
39
|
s.add_dependency(%q<request_store>.freeze, [">= 0"])
|
40
|
-
s.add_dependency(%q<schemacop>.freeze, ["
|
40
|
+
s.add_dependency(%q<schemacop>.freeze, [">= 2.4.2", "<= 3.1"])
|
41
41
|
end
|
42
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_ops
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sitrox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -126,16 +126,22 @@ dependencies:
|
|
126
126
|
name: schemacop
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: 2.4.2
|
132
|
+
- - "<="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '3.1'
|
132
135
|
type: :runtime
|
133
136
|
prerelease: false
|
134
137
|
version_requirements: !ruby/object:Gem::Requirement
|
135
138
|
requirements:
|
136
|
-
- - "
|
139
|
+
- - ">="
|
137
140
|
- !ruby/object:Gem::Version
|
138
141
|
version: 2.4.2
|
142
|
+
- - "<="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '3.1'
|
139
145
|
description:
|
140
146
|
email:
|
141
147
|
executables: []
|
@@ -148,7 +154,7 @@ files:
|
|
148
154
|
- ".travis.yml"
|
149
155
|
- CHANGELOG.md
|
150
156
|
- Gemfile
|
151
|
-
- LICENSE
|
157
|
+
- LICENSE
|
152
158
|
- README.md
|
153
159
|
- Rakefile
|
154
160
|
- VERSION
|