refrigerator 1.0.0 → 1.1.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
- SHA1:
3
- metadata.gz: 0c9e52b0092dba4efb2a5dff7fdb325f9c701edf
4
- data.tar.gz: 24545654071f599ceb971ec29599e3275f7dd196
2
+ SHA256:
3
+ metadata.gz: 823960b7e2afbc34ba1a761c77040e0483c5e21a633c80883b7a70321c8d92de
4
+ data.tar.gz: d8de32d586a6cea41df3e12e95ee4c8721db76f48ae0352a18ae151eecbe6c92
5
5
  SHA512:
6
- metadata.gz: de00ce2f90f0d7158a02e1fdd532f5f9d915bd3a84364158e86c1552ae6c0db3946b7456dbdd540eae77456b648a52f4017fedee79fb3be6522c62f82b2b51ac
7
- data.tar.gz: 9c6d86426daedc0b3b5bf7ff25e8c5cdcaad9270d4600ef8b675631585dbc6ca83449caa514e8aa791e19e6ba0786ce53ce9cc4d7db8be262109951c30eb6301
6
+ metadata.gz: c4438c2c765593779fc7d323a01c53c7aa96fe588d036f8c60229172022b0ba60b7f016664ca96ed15cc85e9e4e1c29dfcc26bf3e2190c98ba406b3048fbb25f
7
+ data.tar.gz: c80bf4bbade2499a4c00e5ebf39d00fa79ac9e67e2c6bd85484c1cab2b93b0d03f691e16a37a706ea72d4b2b6005813b7f0b31b2021f53e36c40bf86c6d83c6b
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ === master
2
+
3
+ * Work when the input field separator is changed from the default (jeremyevans) (#1)
4
+
1
5
  === 1.0.0 (2017-02-17)
2
6
 
3
7
  * Initial Public Release
data/README.rdoc CHANGED
@@ -1,8 +1,8 @@
1
1
  = Refrigerator
2
2
 
3
3
  Refrigerator offers an easy way to freeze all ruby core classes and modules.
4
- It's designed to be used in production to make sure that no code is making
5
- unexpected changes to core classes or modules at runtime.
4
+ It's designed to be used in production and when testing to make sure that no
5
+ code is making unexpected changes to core classes or modules at runtime.
6
6
 
7
7
  = Installation
8
8
 
@@ -25,14 +25,16 @@ After loading all of the code for your application, you can call the
25
25
  This will freeze all core classes, so that modifications to them at runtime will
26
26
  raise exceptions.
27
27
 
28
+ In a rack-based application, a good place to call `freeze_core` is at the end of the
29
+ `config.ru` file.
30
+
28
31
  You can also pass an :except option to +freeze_core+ with an array of class names not to
29
32
  freeze:
30
33
 
31
34
  Refrigerator.freeze_core(:except=>['BasicObject'])
32
35
 
33
36
  One reason to exclude certain classes is because you know they will be modified at
34
- runtime. For example, tilt (the ruby template library) modifies BasicObject at runtime
35
- as part of template compilation.
37
+ runtime.
36
38
 
37
39
  == check_require
38
40
 
@@ -49,7 +51,7 @@ The +check_require+ method takes the following options:
49
51
  :modules :: Define the given module names before freezing the core (array of symbols)
50
52
  :classes :: Define the given class names before freezing the core (array of symbols
51
53
  or two element arrays with class name symbol and superclass name symbol)
52
- :exclude :: Exclude the given class/module names from freezin (array of strings)
54
+ :exclude :: Exclude the given class/module names from freezing (array of strings)
53
55
  :depends :: Any dependencies to require before freezing the core (array of strings)
54
56
 
55
57
  Without any options, +check_require+ will likely raise an exception, as it
@@ -84,6 +86,11 @@ Note that many stdlib libraries will fail +check_require+ unless you use the
84
86
  :classes=>[:Set, [:SortedSet, :Set]]
85
87
  # Fails due to Enumerable#to_set addition
86
88
 
89
+ Refrigerator.check_require 'set',
90
+ :classes=>[:Set, [:SortedSet, :Set]],
91
+ :exclude=>['Enumerable']
92
+ # => true
93
+
87
94
  === bin/check_require
88
95
 
89
96
  refrigerator ships with a +check_require+ binary that offers access to
@@ -93,21 +100,23 @@ refrigerator ships with a +check_require+ binary that offers access to
93
100
  Usage: check_require [options] path
94
101
 
95
102
  Options:
96
- -m, --modules [Module1,Module2] define given modules under Object before freezing core classes
97
- -c, --classes [Class1,Class2] define given modules under Object before freezing core classes
98
- -r, --require [foo,bar/baz] require given libraries before freezing core classes
99
- -e, --exclude [Object,Array] exclude given core classes from freezing
100
- -h, -?, --help Show this message
103
+ -m, --modules [Module1,Module2] define given modules under Object before freezing core classes
104
+ -c [Class1,Class2/SuperclassOfClass2],
105
+ --classes define given classes under Object before freezing core classes
106
+ -r, --require [foo,bar/baz] require given libraries before freezing core classes
107
+ -e, --exclude [Object,Array] exclude given core classes from freezing
108
+ -h, -?, --help Show this message
101
109
 
102
110
  You can use this to easily check ruby libraries for issues when requiring. For example, let's try
103
111
  with +open3+:
104
112
 
105
113
  $ bin/check_require open3
106
- /usr/local/lib/ruby/2.4/open3.rb:32:in `<top (required)>': can't modify frozen #<Class:Object> (RuntimeError)
107
- from /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require'
108
- from /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require'
109
- from /data/code/ruby-refrigerator/lib/refrigerator.rb:35:in `check_require'
110
- from bin/check_require:42:in `<main>'
114
+ Traceback (most recent call last):
115
+ 4: from bin/check_require:42:in `<main>'
116
+ 3: from /home/billg/ruby-refrigerator/lib/refrigerator.rb:35:in `check_require'
117
+ 2: from /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require'
118
+ 1: from /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require'
119
+ /usr/local/lib/ruby/2.5/open3.rb:32:in `<top (required)>': can't modify frozen #<Class:Object> (FrozenError)
111
120
  $ bin/check_require -m Open3 open3
112
121
 
113
122
  As displayed above, open3 does not modify any core classes, beyond defining the +Open3+ module.
@@ -115,36 +124,45 @@ As displayed above, open3 does not modify any core classes, beyond defining the
115
124
  Let's try with +date+:
116
125
 
117
126
  $ bin/check_require date
118
- /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require': can't modify frozen #<Class:Object> (RuntimeError)
119
- from /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require'
120
- from /usr/local/lib/ruby/2.4/date.rb:4:in `<top (required)>'
121
- from /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require'
122
- from /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require'
123
- from /data/code/ruby-refrigerator/lib/refrigerator.rb:35:in `check_require'
124
- from bin/check_require:42:in `<main>'
125
- $ bin/check_require -e Object date
126
- /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require': can't modify frozen class (RuntimeError)
127
- from /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require'
128
- from /usr/local/lib/ruby/2.4/date.rb:4:in `<top (required)>'
129
- from /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require'
130
- from /usr/local/lib/ruby/2.4/rubygems/core_ext/kernel_require.rb:55:in `require'
131
- from /data/code/ruby-refrigerator/lib/refrigerator.rb:35:in `check_require'
132
- from bin/check_require:42:in `<main>'
133
- $ bin/check_require -e Object,Time date
134
-
135
- The first failure is because +date+ defines the +Date+ and +DateTime+ classes. Because
136
- +date+ is a native library written in C, you can't define the classes in advance, so
137
- you have to exclude the freezing of +Object+. Note that it still fails in that case, but
138
- it doesn't even tell you why. It turns out the reason is that +date+ also adds <tt>Time#to_date</tt>
139
- and other methods, so you need to exclude the freezing of +Time+ as well.
127
+ Traceback (most recent call last):
128
+ 6: from bin/check_require:42:in `<main>'
129
+ 5: from /home/billg/ruby-refrigerator/lib/refrigerator.rb:35:in `check_require'
130
+ 4: from /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require'
131
+ 3: from /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require'
132
+ 2: from /usr/local/lib/ruby/2.5/date.rb:4:in `<top (required)>'
133
+ 1: from /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require'
134
+ /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require': can't modify frozen #<Class:Object> (FrozenError)
135
+ $ bin/check_require -c Date,DateTime/Date date
136
+ Traceback (most recent call last):
137
+ 6: from bin/check_require:42:in `<main>'
138
+ 5: from /home/billg/ruby-refrigerator/lib/refrigerator.rb:35:in `check_require'
139
+ 4: from /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require'
140
+ 3: from /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require'
141
+ 2: from /usr/local/lib/ruby/2.5/date.rb:4:in `<top (required)>'
142
+ 1: from /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require'
143
+ /usr/local/lib/ruby/2.5/rubygems/core_ext/kernel_require.rb:59:in `require': can't modify frozen class (FrozenError)
144
+ $ bin/check_require -c Date,DateTime/Date -e Time date
145
+
146
+ The first failure is because +date+ defines the +Date+ and +DateTime+ classes, so you
147
+ must define those classes first, using a slash to separate DateTime from the superclass
148
+ Date. Note that it still fails in that case, but it doesn't even tell you why. It turns
149
+ out the reason is that +date+ also adds +to_date+ and other methods to +Time+, so you
150
+ need to exclude the freezing of +Time+ as well.
140
151
 
141
152
  Here are a couple more examples, using Sequel and Roda:
142
153
 
143
154
  bin/check_require -m Sequel -r bigdecimal,date,thread,time,uri sequel
144
155
  bin/check_require -c Roda -r rack,uri,fileutils,set,tmpdir,tempfile,thread,date,time roda
145
156
 
146
- Note that +bin/check_require+'s `-c` option does not support classes that do not subclass
147
- from +Object+. You must use the +Refrigerator.check_require+ API in that case.
157
+ == Supporting new ruby minor versions
158
+
159
+ The list of constants that +freeze_core+ will freeze are stored in the module_names/*.txt files
160
+ in the repository, with separate files per ruby minor version. When new ruby minor versions are
161
+ released, the +module_names+ rake task can be run with the new ruby minor version, and it will
162
+ generate the appropriate file. This task works by looking at ObjectSpace for all modules, with
163
+ code similar to:
164
+
165
+ ObjectSpace.each_object(Module){|m| p m.name}
148
166
 
149
167
  = License
150
168
 
data/Rakefile CHANGED
@@ -8,6 +8,14 @@ task :package=>[:clean] do |p|
8
8
  sh %{#{FileUtils::RUBY} -S gem build refrigerator.gemspec}
9
9
  end
10
10
 
11
+ ### Generate module_names
12
+
13
+ desc "Generate module_names/*.txt file for current ruby version"
14
+ task :module_names do
15
+ sh "#{FileUtils::RUBY} -e 'a = []; ObjectSpace.each_object(Module){|m| a << m.name.to_s}; File.open(\"module_names/#{RUBY_VERSION[0..2].sub('.', '')}.txt\", \"wb\"){|f| f.write(a.reject{|m| m.empty?}.sort.join(\"\\n\")); f.write(\"\\n\")}'"
16
+ end
17
+
18
+
11
19
  ### Specs
12
20
 
13
21
  desc "Run specs"
data/bin/check_require CHANGED
@@ -20,8 +20,8 @@ options = OptionParser.new do |opts|
20
20
  cr_opts[:modules].concat v.split(',').map(&:to_sym)
21
21
  end
22
22
 
23
- opts.on("-c", "--classes [Class1,Class2]", "define given modules under Object before freezing core classes") do |v|
24
- cr_opts[:classes].concat v.split(',').map(&:to_sym)
23
+ opts.on("-c", "--classes [Class1,Class2/SuperclassOfClass2]", "define given classes under Object before freezing core classes") do |v|
24
+ cr_opts[:classes].concat v.split(',').map{|s| s.include?('/') ? s.split('/').map(&:to_sym) : s.to_sym}
25
25
  end
26
26
 
27
27
  opts.on("-r", "--require [foo,bar/baz]", "require given libraries before freezing core classes") do |v|
data/lib/refrigerator.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  # Refrigerator allows for easily freezing core classes and modules.
2
2
  module Refrigerator
3
3
  version_int = RUBY_VERSION[0..2].sub('.', '').to_i
4
- version_int = 24 if version_int > 24
4
+ version_int = 25 if version_int > 25
5
5
 
6
6
  # Array of strings containing class or module names.
7
7
  CORE_MODULES = File.read(File.expand_path(File.join(File.expand_path(__FILE__), "../../module_names/#{version_int}.txt"))).
8
- split.
8
+ split(/\s+/).
9
9
  select{|m| eval("defined?(#{m})")}.
10
10
  each(&:freeze).
11
11
  freeze
@@ -30,7 +30,7 @@ module Refrigerator
30
30
  require 'rubygems'
31
31
  Array(opts[:depends]).each{|f| require f}
32
32
  Array(opts[:modules]).each{|m| Object.const_set(m, Module.new)}
33
- Array(opts[:classes]).each{|c, *sc| Object.const_set(c, Class.new(sc.empty? ? Object : eval(sc.first)))}
33
+ Array(opts[:classes]).each{|c, *sc| Object.const_set(c, Class.new(sc.empty? ? Object : eval(sc.first.to_s)))}
34
34
  freeze_core(:except=>%w'Gem Gem::Specification'+Array(opts[:exclude]))
35
35
  require file
36
36
  end
@@ -0,0 +1,287 @@
1
+ ARGF.class
2
+ ArgumentError
3
+ Array
4
+ BasicObject
5
+ Binding
6
+ Class
7
+ ClosedQueueError
8
+ Comparable
9
+ Complex
10
+ Complex::compatible
11
+ Delegator
12
+ DidYouMean
13
+ DidYouMean::ClassNameChecker
14
+ DidYouMean::ClassNameChecker::ClassName
15
+ DidYouMean::Correctable
16
+ DidYouMean::DeprecatedIgnoredCallers
17
+ DidYouMean::Jaro
18
+ DidYouMean::JaroWinkler
19
+ DidYouMean::KeyErrorChecker
20
+ DidYouMean::Levenshtein
21
+ DidYouMean::MethodNameChecker
22
+ DidYouMean::NullChecker
23
+ DidYouMean::PlainFormatter
24
+ DidYouMean::SpellChecker
25
+ DidYouMean::VariableNameChecker
26
+ Dir
27
+ EOFError
28
+ Encoding
29
+ Encoding::CompatibilityError
30
+ Encoding::Converter
31
+ Encoding::ConverterNotFoundError
32
+ Encoding::InvalidByteSequenceError
33
+ Encoding::UndefinedConversionError
34
+ EncodingError
35
+ Enumerable
36
+ Enumerator
37
+ Enumerator::Generator
38
+ Enumerator::Lazy
39
+ Enumerator::Yielder
40
+ Errno
41
+ Errno::E2BIG
42
+ Errno::EACCES
43
+ Errno::EADDRINUSE
44
+ Errno::EADDRNOTAVAIL
45
+ Errno::EAFNOSUPPORT
46
+ Errno::EAGAIN
47
+ Errno::EALREADY
48
+ Errno::EAUTH
49
+ Errno::EBADF
50
+ Errno::EBADMSG
51
+ Errno::EBADRPC
52
+ Errno::EBUSY
53
+ Errno::ECANCELED
54
+ Errno::ECHILD
55
+ Errno::ECONNABORTED
56
+ Errno::ECONNREFUSED
57
+ Errno::ECONNRESET
58
+ Errno::EDEADLK
59
+ Errno::EDESTADDRREQ
60
+ Errno::EDOM
61
+ Errno::EDQUOT
62
+ Errno::EEXIST
63
+ Errno::EFAULT
64
+ Errno::EFBIG
65
+ Errno::EFTYPE
66
+ Errno::EHOSTDOWN
67
+ Errno::EHOSTUNREACH
68
+ Errno::EIDRM
69
+ Errno::EILSEQ
70
+ Errno::EINPROGRESS
71
+ Errno::EINTR
72
+ Errno::EINVAL
73
+ Errno::EIO
74
+ Errno::EIPSEC
75
+ Errno::EISCONN
76
+ Errno::EISDIR
77
+ Errno::ELOOP
78
+ Errno::EMEDIUMTYPE
79
+ Errno::EMFILE
80
+ Errno::EMLINK
81
+ Errno::EMSGSIZE
82
+ Errno::ENAMETOOLONG
83
+ Errno::ENEEDAUTH
84
+ Errno::ENETDOWN
85
+ Errno::ENETRESET
86
+ Errno::ENETUNREACH
87
+ Errno::ENFILE
88
+ Errno::ENOATTR
89
+ Errno::ENOBUFS
90
+ Errno::ENODEV
91
+ Errno::ENOENT
92
+ Errno::ENOEXEC
93
+ Errno::ENOLCK
94
+ Errno::ENOMEDIUM
95
+ Errno::ENOMEM
96
+ Errno::ENOMSG
97
+ Errno::ENOPROTOOPT
98
+ Errno::ENOSPC
99
+ Errno::ENOSYS
100
+ Errno::ENOTBLK
101
+ Errno::ENOTCONN
102
+ Errno::ENOTDIR
103
+ Errno::ENOTEMPTY
104
+ Errno::ENOTRECOVERABLE
105
+ Errno::ENOTSOCK
106
+ Errno::ENOTSUP
107
+ Errno::ENOTTY
108
+ Errno::ENXIO
109
+ Errno::EOPNOTSUPP
110
+ Errno::EOVERFLOW
111
+ Errno::EOWNERDEAD
112
+ Errno::EPERM
113
+ Errno::EPFNOSUPPORT
114
+ Errno::EPIPE
115
+ Errno::EPROCLIM
116
+ Errno::EPROCUNAVAIL
117
+ Errno::EPROGMISMATCH
118
+ Errno::EPROGUNAVAIL
119
+ Errno::EPROTO
120
+ Errno::EPROTONOSUPPORT
121
+ Errno::EPROTOTYPE
122
+ Errno::ERANGE
123
+ Errno::EREMOTE
124
+ Errno::EROFS
125
+ Errno::ERPCMISMATCH
126
+ Errno::ESHUTDOWN
127
+ Errno::ESOCKTNOSUPPORT
128
+ Errno::ESPIPE
129
+ Errno::ESRCH
130
+ Errno::ESTALE
131
+ Errno::ETIMEDOUT
132
+ Errno::ETOOMANYREFS
133
+ Errno::ETXTBSY
134
+ Errno::EUSERS
135
+ Errno::EXDEV
136
+ Errno::NOERROR
137
+ Exception
138
+ FalseClass
139
+ Fiber
140
+ FiberError
141
+ File
142
+ File::Constants
143
+ File::Stat
144
+ FileTest
145
+ Float
146
+ FloatDomainError
147
+ FrozenError
148
+ GC
149
+ GC::Profiler
150
+ Gem
151
+ Gem::BasicSpecification
152
+ Gem::CommandLineError
153
+ Gem::ConflictError
154
+ Gem::Dependency
155
+ Gem::DependencyError
156
+ Gem::DependencyRemovalException
157
+ Gem::DependencyResolutionError
158
+ Gem::Deprecate
159
+ Gem::DocumentError
160
+ Gem::EndOfYAMLException
161
+ Gem::ErrorReason
162
+ Gem::Exception
163
+ Gem::FilePermissionError
164
+ Gem::FormatException
165
+ Gem::GemNotFoundException
166
+ Gem::GemNotInHomeException
167
+ Gem::ImpossibleDependenciesError
168
+ Gem::InstallError
169
+ Gem::InvalidSpecificationException
170
+ Gem::List
171
+ Gem::LoadError
172
+ Gem::MissingSpecError
173
+ Gem::MissingSpecVersionError
174
+ Gem::OperationNotSupportedError
175
+ Gem::PathSupport
176
+ Gem::Platform
177
+ Gem::PlatformMismatch
178
+ Gem::RemoteError
179
+ Gem::RemoteInstallationCancelled
180
+ Gem::RemoteInstallationSkipped
181
+ Gem::RemoteSourceException
182
+ Gem::Requirement
183
+ Gem::Requirement::BadRequirementError
184
+ Gem::RubyVersionMismatch
185
+ Gem::RuntimeRequirementNotMetError
186
+ Gem::SourceFetchProblem
187
+ Gem::SpecificGemNotFoundException
188
+ Gem::Specification
189
+ Gem::StubSpecification
190
+ Gem::StubSpecification::StubLine
191
+ Gem::SystemExitException
192
+ Gem::UnsatisfiableDependencyError
193
+ Gem::VerificationError
194
+ Gem::Version
195
+ Hash
196
+ IO
197
+ IO::EAGAINWaitReadable
198
+ IO::EAGAINWaitWritable
199
+ IO::EINPROGRESSWaitReadable
200
+ IO::EINPROGRESSWaitWritable
201
+ IO::WaitReadable
202
+ IO::WaitWritable
203
+ IO::generic_readable
204
+ IO::generic_writable
205
+ IOError
206
+ IndexError
207
+ Integer
208
+ Interrupt
209
+ Kernel
210
+ KeyError
211
+ LoadError
212
+ LocalJumpError
213
+ Marshal
214
+ MatchData
215
+ Math
216
+ Math::DomainError
217
+ Method
218
+ Module
219
+ Monitor
220
+ MonitorMixin
221
+ MonitorMixin::ConditionVariable
222
+ MonitorMixin::ConditionVariable::Timeout
223
+ NameError
224
+ NameError::message
225
+ NilClass
226
+ NoMemoryError
227
+ NoMethodError
228
+ NotImplementedError
229
+ Numeric
230
+ Object
231
+ ObjectSpace
232
+ ObjectSpace::WeakMap
233
+ Proc
234
+ Process
235
+ Process::GID
236
+ Process::Status
237
+ Process::Sys
238
+ Process::Tms
239
+ Process::UID
240
+ Process::Waiter
241
+ Random
242
+ Random::Formatter
243
+ Range
244
+ RangeError
245
+ Rational
246
+ Rational::compatible
247
+ RbConfig
248
+ Regexp
249
+ RegexpError
250
+ RubyVM
251
+ RubyVM::InstructionSequence
252
+ RuntimeError
253
+ ScriptError
254
+ SecurityError
255
+ Signal
256
+ SignalException
257
+ SimpleDelegator
258
+ StandardError
259
+ StopIteration
260
+ String
261
+ StringIO
262
+ Struct
263
+ Symbol
264
+ SyntaxError
265
+ SystemCallError
266
+ SystemExit
267
+ SystemStackError
268
+ Thread
269
+ Thread::Backtrace
270
+ Thread::Backtrace::Location
271
+ Thread::ConditionVariable
272
+ Thread::Mutex
273
+ Thread::Queue
274
+ Thread::SizedQueue
275
+ ThreadError
276
+ ThreadGroup
277
+ Time
278
+ TracePoint
279
+ TrueClass
280
+ TypeError
281
+ UnboundMethod
282
+ UncaughtThrowError
283
+ UnicodeNormalize
284
+ Warning
285
+ Warning::buffer
286
+ ZeroDivisionError
287
+ fatal
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refrigerator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-17 00:00:00.000000000 Z
11
+ date: 2018-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -52,6 +52,7 @@ files:
52
52
  - module_names/22.txt
53
53
  - module_names/23.txt
54
54
  - module_names/24.txt
55
+ - module_names/25.txt
55
56
  homepage: http://github.com/jeremyevans/ruby-refrigerator
56
57
  licenses:
57
58
  - MIT
@@ -71,7 +72,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
71
72
  requirements:
72
73
  - - ">="
73
74
  - !ruby/object:Gem::Version
74
- version: '0'
75
+ version: 1.8.7
75
76
  required_rubygems_version: !ruby/object:Gem::Requirement
76
77
  requirements:
77
78
  - - ">="
@@ -79,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
80
  version: '0'
80
81
  requirements: []
81
82
  rubyforge_project:
82
- rubygems_version: 2.6.8
83
+ rubygems_version: 2.7.3
83
84
  signing_key:
84
85
  specification_version: 4
85
86
  summary: Freeze all core ruby classes