cached_resource 8.0.0 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af6263e0c63b68542a68f62371c79b057e8d9244eb4ab670cfa8956c7cdb1d54
4
- data.tar.gz: 471295437c0567959f596cd4a8e13639dc670991632e99d01d1bbdea82123664
3
+ metadata.gz: 42ea4ceb6fd67accfe68fba67eecbde7c9c2f6289fdc382c095e88faf431b37a
4
+ data.tar.gz: 3ed45f62bf3d3be125b348ca0181fbd87f0becf70c5fb3d617095476cb0d6b6c
5
5
  SHA512:
6
- metadata.gz: 02ee32043c70de70d3befa042ad68c0de0b71e8abf0197e477e97a1489c51ed7eb726bc38a561dd29e34763184cea026275b6a9ff4b9e20ed2c8876f90d5944e
7
- data.tar.gz: b652cbf1e7d42adaecf1639ac01c2489a75120bb2780bdb272fef5f2be9ad93fe339521d8e0337434cc98e6eb6234164274fa446710211c8eadb3a349435af15
6
+ metadata.gz: 677095f51ebb4555c9c42cf66989146e3d972cf7522cae23f9618ab55843730bfa15b32ba607e84bdf8451b270142edbf4e600477a68712bba4a98b5ac2cec56
7
+ data.tar.gz: 6401482cbcc33c775b12b64a0c66d029073a904eb485be863bb8236cb60b9635683f478d97f9b5a30cb1aadc2808182f3f1eaf6f5f6e9df6a48f85194cdea19d
@@ -10,7 +10,7 @@ module CachedResource
10
10
  attr_accessor :cached_resource
11
11
 
12
12
  # Initialize cached resource or retrieve the current cached resource configuration.
13
- def cached_resource(options={})
13
+ def cached_resource(options = {})
14
14
  defined?(@cached_resource) && @cached_resource || setup_cached_resource!(options)
15
15
  end
16
16
 
@@ -18,16 +18,6 @@ module CachedResource
18
18
  # and establishing the necessary methods.
19
19
  def setup_cached_resource!(options)
20
20
  @cached_resource = CachedResource::Configuration.new(options)
21
- if @cached_resource.concurrent_write
22
- begin
23
- send :require, 'concurrent/promise'
24
- rescue LoadError
25
- @cached_resource.logger.error(
26
- "`concurrent_write` option is enabled, but `concurrent-ruby` is not an installed dependency"
27
- )
28
- raise
29
- end
30
- end
31
21
  send :include, CachedResource::Caching
32
22
  @cached_resource
33
23
  end
@@ -40,7 +30,7 @@ module CachedResource
40
30
  # that wants an independent configuration will need to execute:
41
31
  # self.cached_resource = CachedResource::Configuration.new(options={})
42
32
  def inherited(child)
43
- child.cached_resource = self.cached_resource if defined?(@cached_resource)
33
+ child.cached_resource = cached_resource if defined?(@cached_resource)
44
34
  super
45
35
  end
46
36
  end
@@ -25,8 +25,10 @@ module CachedResource
25
25
  end
26
26
 
27
27
  # Clear the cache.
28
- def clear_cache(options=nil)
28
+ def clear_cache(options = nil)
29
29
  cache_clear(options)
30
+
31
+ true
30
32
  end
31
33
 
32
34
  private
@@ -73,7 +75,9 @@ module CachedResource
73
75
  collection = cache_read(cache_key(cached_resource.collection_arguments))
74
76
 
75
77
  if collection && !updates.empty?
76
- index = collection.inject({}) { |hash, object| hash[object.send(primary_key)] = object; hash }
78
+ index = collection.each_with_object({}) { |object, hash|
79
+ hash[object.send(primary_key)] = object
80
+ }
77
81
  updates.each { |object| index[object.send(primary_key)] = object }
78
82
  cache_write(cache_key(cached_resource.collection_arguments), index.values, *arguments)
79
83
  end
@@ -94,13 +98,12 @@ module CachedResource
94
98
  # Determine if the given arguments represent
95
99
  # any collection of objects
96
100
  def is_any_collection?(*arguments)
97
- cached_resource.collection_arguments.all?{ |arg| arguments.include?(arg) } || arguments.include?(:all)
101
+ cached_resource.collection_arguments.all? { |arg| arguments.include?(arg) } || arguments.include?(:all)
98
102
  end
99
103
 
100
104
  # Read a entry from the cache for the given key.
101
105
  def cache_read(key)
102
106
  object = cached_resource.cache.read(key).try do |json_cache|
103
-
104
107
  json = ActiveSupport::JSON.decode(json_cache)
105
108
 
106
109
  unless json.nil?
@@ -110,7 +113,7 @@ module CachedResource
110
113
  next restored unless respond_to?(:collection_parser)
111
114
  collection_parser.new(restored).tap do |parser|
112
115
  parser.resource_class = self
113
- parser.original_params = json['original_params'].deep_symbolize_keys
116
+ parser.original_params = json["original_params"].deep_symbolize_keys
114
117
  end
115
118
  else
116
119
  full_dup(cache)
@@ -123,44 +126,55 @@ module CachedResource
123
126
 
124
127
  # Write an entry to the cache for the given key and value.
125
128
  def cache_write(key, object, *arguments)
126
- if cached_resource.concurrent_write
127
- Concurrent::Promise.execute { _cache_write(key, object, *arguments) } && true
128
- else
129
- _cache_write(key, object, *arguments)
130
- end
131
- end
132
-
133
- def _cache_write(key, object, *arguments)
134
129
  options = arguments[1] || {}
135
130
  params = options[:params]
136
131
  prefix_options, query_options = split_options(params)
137
132
 
138
- result = cached_resource.cache.write(key, object_to_json(object, prefix_options, query_options), :race_condition_ttl => cached_resource.race_condition_ttl, :expires_in => cached_resource.generate_ttl)
133
+ result = cached_resource.cache.write(key, object_to_json(object, prefix_options, query_options), race_condition_ttl: cached_resource.race_condition_ttl, expires_in: cached_resource.generate_ttl)
139
134
  result && cached_resource.logger.info("#{CachedResource::Configuration::LOGGER_PREFIX} WRITE #{key}")
140
135
  result
141
136
  end
142
137
 
143
- # Clear the cache.
144
- def cache_clear(options=nil)
145
- # Memcache doesn't support delete_matched, which can also be computationally expensive
146
- if cached_resource.cache.class.to_s == 'ActiveSupport::Cache::MemCacheStore' || options.try(:fetch,:all)
138
+ def cache_clear(options = nil)
139
+ if !cached_resource.cache.respond_to?(:delete_matched) || options.try(:fetch, :all)
147
140
  cached_resource.cache.clear.tap do |result|
148
141
  cached_resource.logger.info("#{CachedResource::Configuration::LOGGER_PREFIX} CLEAR ALL")
149
142
  end
150
143
  else
151
- cached_resource.cache.delete_matched("^#{name_key}/*").tap do |result|
152
- cached_resource.logger.info("#{CachedResource::Configuration::LOGGER_PREFIX} CLEAR #{name_key}/*")
144
+ cached_resource.cache.delete_matched(cache_key_delete_pattern).tap do |result|
145
+ cached_resource.logger.info("#{CachedResource::Configuration::LOGGER_PREFIX} CLEAR #{cache_key_delete_pattern}")
153
146
  end
154
147
  end
155
148
  end
156
149
 
150
+ def cache_key_delete_pattern
151
+ case cached_resource.cache
152
+ when ActiveSupport::Cache::MemoryStore, ActiveSupport::Cache::FileStore
153
+ /^#{name_key}\//
154
+ else
155
+ "#{name_key}/*"
156
+ end
157
+ end
158
+
157
159
  # Generate the request cache key.
158
160
  def cache_key(*arguments)
159
- "#{name_key}/#{arguments.join('/')}".downcase.delete(' ')
161
+ "#{name_key}/#{arguments.join("/")}".downcase.delete(" ")
160
162
  end
161
163
 
162
164
  def name_key
163
- name.parameterize.gsub("-", "/")
165
+ cache_key_prefix + name.parameterize.tr("-", "/")
166
+ end
167
+
168
+ def cache_key_prefix
169
+ prefix = cached_resource.cache_key_prefix
170
+ return "" if prefix.nil?
171
+
172
+ if prefix.respond_to?(:call)
173
+ result = prefix.call
174
+ result.nil? ? "" : "#{result}/"
175
+ else
176
+ "#{prefix}/"
177
+ end
164
178
  end
165
179
 
166
180
  # Make a full duplicate of an ActiveResource record.
@@ -172,16 +186,16 @@ module CachedResource
172
186
  end
173
187
 
174
188
  def json_to_object(json)
175
- resource = json['resource']
189
+ resource = json["resource"]
176
190
  if resource.is_a? Array
177
191
  resource.map do |attrs|
178
- self.new(attrs["object"], attrs["persistence"]).tap do |resource|
179
- resource.prefix_options = json['prefix_options']
192
+ new(attrs["object"], attrs["persistence"]).tap do |resource|
193
+ resource.prefix_options = json["prefix_options"]
180
194
  end
181
195
  end
182
196
  else
183
- self.new(resource["object"], resource["persistence"]).tap do |resource|
184
- resource.prefix_options = json['prefix_options']
197
+ new(resource["object"], resource["persistence"]).tap do |resource|
198
+ resource.prefix_options = json["prefix_options"]
185
199
  end
186
200
  end
187
201
  end
@@ -189,16 +203,14 @@ module CachedResource
189
203
  def object_to_json(object, prefix_options, query_options)
190
204
  if object.is_a? Enumerable
191
205
  {
192
- :resource => object.map { |o| { :object => o, :persistence => o.persisted? } },
193
- :prefix_options => prefix_options,
194
- :original_params => query_options
206
+ resource: object.map { |o| {object: o, persistence: o.persisted?} },
207
+ prefix_options: prefix_options,
208
+ original_params: query_options
195
209
  }.to_json
196
- elsif object.nil?
197
- nil.to_json
198
210
  else
199
211
  {
200
- :resource => { :object => object, :persistence => object.persisted? },
201
- :prefix_options => prefix_options
212
+ resource: {object: object, persistence: object.persisted?},
213
+ prefix_options: prefix_options
202
214
  }.to_json
203
215
  end
204
216
  end
@@ -2,7 +2,6 @@ module CachedResource
2
2
  # The Configuration class manages class specific options
3
3
  # for cached resource.
4
4
  class Configuration < OpenStruct
5
-
6
5
  # default or fallback cache without rails
7
6
  CACHE = ActiveSupport::Cache::MemoryStore.new
8
7
 
@@ -24,20 +23,19 @@ module CachedResource
24
23
  # :cache, default: Rails.cache or ActiveSupport::Cache::MemoryStore.new,
25
24
  # :logger, default: Rails.logger or ActiveSupport::Logger.new(NilIO.new),
26
25
  # :cache_collections, default: true
27
- # :concurrent_write, default: false
28
- def initialize(options={})
26
+ def initialize(options = {})
29
27
  super({
30
- :enabled => true,
31
- :cache => defined?(Rails.cache) && Rails.cache || CACHE,
32
- :cache_collections => true,
33
- :collection_arguments => [:all],
34
- :collection_synchronize => false,
35
- :concurrent_write => false,
36
- :logger => defined?(Rails.logger) && Rails.logger || LOGGER,
37
- :race_condition_ttl => 86400,
38
- :ttl => 604800,
39
- :ttl_randomization => false,
40
- :ttl_randomization_scale => 1..2
28
+ cache: defined?(Rails.cache) && Rails.cache || CACHE,
29
+ cache_collections: true,
30
+ cache_key_prefix: nil,
31
+ collection_arguments: [:all],
32
+ collection_synchronize: false,
33
+ enabled: true,
34
+ logger: defined?(Rails.logger) && Rails.logger || LOGGER,
35
+ race_condition_ttl: 86400,
36
+ ttl: 604800,
37
+ ttl_randomization: false,
38
+ ttl_randomization_scale: 1..2
41
39
  }.merge(options))
42
40
  end
43
41
 
@@ -49,6 +47,8 @@ module CachedResource
49
47
  end
50
48
 
51
49
  # Enables caching.
50
+ # NOTE: Disabled coverage because it is not being picked up by simplecov
51
+ # :nocov:
52
52
  def on!
53
53
  self.enabled = true
54
54
  end
@@ -57,6 +57,7 @@ module CachedResource
57
57
  def off!
58
58
  self.enabled = false
59
59
  end
60
+ # :nocov:
60
61
 
61
62
  private
62
63
 
@@ -68,10 +69,9 @@ module CachedResource
68
69
 
69
70
  # Choose a random value from within the given range, optionally
70
71
  # seeded by seed.
71
- def sample_range(range, seed=nil)
72
+ def sample_range(range, seed = nil)
72
73
  srand seed if seed
73
74
  rand * (range.end - range.begin) + range.begin
74
75
  end
75
-
76
76
  end
77
77
  end
@@ -1,3 +1,3 @@
1
1
  module CachedResource
2
- VERSION = "8.0.0"
2
+ VERSION = "9.0.0"
3
3
  end
@@ -1,14 +1,14 @@
1
- require 'ostruct'
1
+ require "ostruct"
2
2
 
3
- require 'nilio'
4
- require 'active_support/cache'
5
- require 'active_support/concern'
6
- require 'active_support/logger'
7
- require 'cached_resource/cached_resource'
8
- require 'cached_resource/configuration'
9
- require 'cached_resource/caching'
10
- require 'cached_resource/version'
11
- require 'active_resource'
3
+ require "nilio"
4
+ require "active_support/cache"
5
+ require "active_support/concern"
6
+ require "active_support/logger"
7
+ require "cached_resource/cached_resource"
8
+ require "cached_resource/configuration"
9
+ require "cached_resource/caching"
10
+ require "cached_resource/version"
11
+ require "active_resource"
12
12
 
13
13
  module CachedResource
14
14
  # nada
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cached_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0
4
+ version: 9.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Morgan Brown
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-08 00:00:00.000000000 Z
11
+ date: 2024-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: concurrent-ruby
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rake
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -81,56 +109,64 @@ dependencies:
81
109
  - !ruby/object:Gem::Version
82
110
  version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
- name: concurrent-ruby
112
+ name: simplecov
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
115
  - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '1.2'
117
+ version: 0.22.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.22.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: standard
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.39'
90
132
  - - ">="
91
133
  - !ruby/object:Gem::Version
92
- version: 1.2.3
134
+ version: 1.39.1
93
135
  type: :development
94
136
  prerelease: false
95
137
  version_requirements: !ruby/object:Gem::Requirement
96
138
  requirements:
97
139
  - - "~>"
98
140
  - !ruby/object:Gem::Version
99
- version: '1.2'
141
+ version: '1.39'
100
142
  - - ">="
101
143
  - !ruby/object:Gem::Version
102
- version: 1.2.3
144
+ version: 1.39.1
145
+ - !ruby/object:Gem::Dependency
146
+ name: timecop
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: 0.9.10
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 0.9.10
103
159
  description: Enables request-based caching for ActiveResource
104
160
  email: cached_resource@email.mhgbrown.is
105
161
  executables: []
106
162
  extensions: []
107
163
  extra_rdoc_files: []
108
164
  files:
109
- - ".github/workflows/ruby.yml"
110
- - ".gitignore"
111
- - ".rspec"
112
- - FUNDING.json
113
- - Gemfile
114
- - LICENSE
115
- - README.md
116
- - Rakefile
117
- - cached_resource.gemspec
118
- - gemfiles/4.2.gemfile
119
- - gemfiles/5.0.gemfile
120
- - gemfiles/5.1.gemfile
121
- - gemfiles/6.0.gemfile
122
- - gemfiles/6.1.gemfile
123
- - gemfiles/7.0.gemfile
124
- - gemfiles/7.1.gemfile
125
165
  - lib/cached_resource.rb
126
166
  - lib/cached_resource/cached_resource.rb
127
167
  - lib/cached_resource/caching.rb
128
168
  - lib/cached_resource/configuration.rb
129
169
  - lib/cached_resource/version.rb
130
- - spec/cached_resource/cached_resource_spec.rb
131
- - spec/cached_resource/caching_spec.rb
132
- - spec/cached_resource/configuration_spec.rb
133
- - spec/spec_helper.rb
134
170
  homepage: https://github.com/mhgbrown/cached_resource
135
171
  licenses:
136
172
  - MIT
@@ -143,7 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
143
179
  requirements:
144
180
  - - ">="
145
181
  - !ruby/object:Gem::Version
146
- version: 1.9.0
182
+ version: '3.0'
147
183
  required_rubygems_version: !ruby/object:Gem::Requirement
148
184
  requirements:
149
185
  - - ">="
@@ -154,8 +190,4 @@ rubygems_version: 3.1.6
154
190
  signing_key:
155
191
  specification_version: 4
156
192
  summary: Caching for ActiveResource
157
- test_files:
158
- - spec/cached_resource/cached_resource_spec.rb
159
- - spec/cached_resource/caching_spec.rb
160
- - spec/cached_resource/configuration_spec.rb
161
- - spec/spec_helper.rb
193
+ test_files: []
@@ -1,103 +0,0 @@
1
- # This workflow uses actions that are not certified by GitHub.
2
- # They are provided by a third-party and are governed by
3
- # separate terms of service, privacy policy, and support
4
- # documentation.
5
- # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
- # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
-
8
- name: Test
9
-
10
- on: [push]
11
-
12
- permissions:
13
- contents: read
14
-
15
- jobs:
16
- test:
17
-
18
- runs-on: ubuntu-20.04
19
-
20
- strategy:
21
- matrix:
22
- ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
23
- rails-version: ['4.2', '5.0', '5.1', '6.0', '6.1', '7.0', '7.1']
24
- exclude:
25
- # activesupport (~> 6.0.0) was resolved to 6.0.6.1, which depends on ruby (>= 2.5.0)
26
- # activesupport (~> 6.1.0) was resolved to 6.1.7.2, which depends on ruby (>= 2.5.0)
27
- - ruby-version: '2.3'
28
- rails-version: '6.0'
29
- - ruby-version: '2.3'
30
- rails-version: '6.1'
31
- - ruby-version: '2.4'
32
- rails-version: '6.0'
33
- - ruby-version: '2.4'
34
- rails-version: '6.1'
35
- # activesupport (~> 7.0.0) was resolved to 7.0.4.2, which depends on Ruby (>= 2.7.0)
36
- - ruby-version: '2.3'
37
- rails-version: '7.0'
38
- - ruby-version: '2.4'
39
- rails-version: '7.0'
40
- - ruby-version: '2.5'
41
- rails-version: '7.0'
42
- - ruby-version: '2.6'
43
- rails-version: '7.0'
44
- # incompatbility with BigDecimal.new
45
- - ruby-version: '2.7'
46
- rails-version: '4.2'
47
- - ruby-version: '3.0'
48
- rails-version: '4.2'
49
- - ruby-version: '3.1'
50
- rails-version: '4.2'
51
- - ruby-version: '3.2'
52
- rails-version: '4.2'
53
- # ArgumentError: expected attributes to be able to convert to Hash, got "#<Thing:0x000055d208b2e258>"
54
- # probably keyword argument delegation different in Ruby 3
55
- # https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/
56
- - ruby-version: '3.0'
57
- rails-version: '5.0'
58
- - ruby-version: '3.0'
59
- rails-version: '5.1'
60
- - ruby-version: '3.1'
61
- rails-version: '5.0'
62
- - ruby-version: '3.1'
63
- rails-version: '5.1'
64
- - ruby-version: '3.2'
65
- rails-version: '5.0'
66
- - ruby-version: '3.2'
67
- rails-version: '5.1'
68
- # rails (~> 7.1.0) was resolved to 7.1.3.2, which depends on Ruby (>= 2.7.0)
69
- - ruby-version: '2.3'
70
- rails-version: '7.1'
71
- - ruby-version: '2.4'
72
- rails-version: '7.1'
73
- - ruby-version: '2.5'
74
- rails-version: '7.1'
75
- - ruby-version: '2.6'
76
- rails-version: '7.1'
77
- # Because rails >= 4.0.0.beta1, < 5.0.5.rc1 depends on bundler >= 1.3.0, < 2.0
78
- # and the current Bundler version (2.5.9) does not satisfy bundler >= 1.3.0, < 2.0,
79
- # rails >= 4.0.0.beta1, < 5.0.5.rc1 cannot be used.
80
- # So, because Gemfile depends on rails ~> 4.2.0,
81
- # version solving has failed.
82
- - ruby-version: '3.3'
83
- rails-version: '4.2'
84
-
85
- steps:
86
- - uses: actions/checkout@v4
87
- - name: Set up Ruby ${{ matrix.ruby-version }}
88
- # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
89
- # change this to (see https://github.com/ruby/setup-ruby#versioning):
90
- # uses: ruby/setup-ruby@v1
91
- uses: ruby/setup-ruby@v1
92
- with:
93
- ruby-version: ${{ matrix.ruby-version }}
94
- - name: Install bundler 1.x.x
95
- if: matrix.rails-version == '4.2'
96
- run: gem uninstall -aIx bundler && gem install bundler -v 1.17.3
97
- - name: Install dependencies
98
- run: bundle install
99
- env:
100
- TEST_RAILS_VERSION: ${{ matrix.rails-version }}
101
- DEBUG: true
102
- - name: Run tests
103
- run: bundle exec rake
data/.gitignore DELETED
@@ -1,7 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*
5
- *DS_Store
6
- .ruby-version
7
- .tool-versions
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --color
2
- --backtrace
3
- --format d
data/FUNDING.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "drips": {
3
- "ethereum": {
4
- "ownedBy": "0xe2E9b9B5d0757c26aB477A754788B19b60f2ed83"
5
- }
6
- }
7
- }
data/Gemfile DELETED
@@ -1,31 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gemspec
4
-
5
- def eval_gemfile(path)
6
- gemfile_local = File.expand_path(path, __FILE__)
7
- if File.readable?(gemfile_local)
8
- puts "Loading #{gemfile_local}..." if ENV['DEBUG']
9
- instance_eval(File.read(gemfile_local))
10
- end
11
- end
12
-
13
- puts "\e[93mUsing TEST_RAILS_VERSION #{ENV['TEST_RAILS_VERSION']}\e[0m" if ENV['DEBUG']
14
- case ENV['TEST_RAILS_VERSION']
15
- when "4.2"
16
- eval_gemfile('../gemfiles/4.2.gemfile')
17
- when "5.0"
18
- eval_gemfile('../gemfiles/5.0.gemfile')
19
- when "5.1"
20
- eval_gemfile('../gemfiles/5.1.gemfile')
21
- when "6.0"
22
- eval_gemfile('../gemfiles/6.0.gemfile')
23
- when "6.1"
24
- eval_gemfile('../gemfiles/6.1.gemfile')
25
- when "7.0"
26
- eval_gemfile('../gemfiles/7.0.gemfile')
27
- when "7.1"
28
- eval_gemfile('../gemfiles/7.1.gemfile')
29
- else
30
- puts "\e[93mNo TEST_RAILS_VERSION present, letting dependency manager decide what's best.\e[0m" if ENV['DEBUG']
31
- end
data/LICENSE DELETED
@@ -1,20 +0,0 @@
1
- Copyright (c) 2018 Morgan Brown
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.