motion-support 0.2.4 → 0.2.5
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.
- data/README.md +21 -2
- data/Rakefile +1 -1
- data/examples/Inflector/app/inflector_view_controller.rb +0 -11
- data/lib/motion-support/callbacks.rb +3 -1
- data/lib/motion-support/core_ext/numeric.rb +1 -0
- data/lib/motion-support/core_ext/object.rb +1 -0
- data/motion/_stdlib/date.rb +4 -0
- data/motion/core_ext/ns_dictionary.rb +1 -1
- data/motion/core_ext/numeric/conversions.rb +42 -0
- data/motion/core_ext/object/inclusion.rb +1 -2
- data/motion/logger.rb +24 -6
- data/motion/number_helper.rb +54 -0
- data/motion/version.rb +1 -1
- data/spec/motion-support/core_ext/numeric/conversions_spec.rb +40 -0
- data/spec/motion-support/core_ext/time/conversion_spec.rb +1 -1
- data/spec/motion-support/ns_dictionary_spec.rb +24 -0
- data/spec/motion-support/number_helper_spec.rb +55 -0
- metadata +51 -50
data/README.md
CHANGED
@@ -40,6 +40,22 @@ require 'motion-support'
|
|
40
40
|
|
41
41
|
Loads everything.
|
42
42
|
|
43
|
+
## callbacks
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
require 'motion-support/callbacks'
|
47
|
+
```
|
48
|
+
|
49
|
+
Loads the `MotionSupport::Callbacks` module. It allows you to easily add Rails-style callbacks to any class.
|
50
|
+
|
51
|
+
## concern
|
52
|
+
|
53
|
+
```ruby
|
54
|
+
require 'motion-support/concern'
|
55
|
+
```
|
56
|
+
|
57
|
+
Loads the `MotionSupport::Concern` module. This simplifies separating classes into modules and managing module dependencies.
|
58
|
+
|
43
59
|
## inflector
|
44
60
|
|
45
61
|
```ruby
|
@@ -268,6 +284,7 @@ In general:
|
|
268
284
|
* All marshalling code was removed
|
269
285
|
* All logging code was removed
|
270
286
|
* All extensions to `Test::Unit` were removed
|
287
|
+
* The `ActiveSupport` namespace is called `MotionSupport`
|
271
288
|
|
272
289
|
Specifically:
|
273
290
|
|
@@ -292,6 +309,10 @@ Specifically:
|
|
292
309
|
* The `rfc822` time format was removed, since it relies on time zone support.
|
293
310
|
* Extensions to `LoadError` and `NameError` were removed
|
294
311
|
* The `ThreadSafe` versions of `Hash` and `Array` are just aliases to the standard classes
|
312
|
+
* In `MotionSupport::Callbacks` it is not possible to give a string containing Ruby code as a conditions via `:if`, since RubyMotion doesn't support `eval`.
|
313
|
+
* In `MotionSupport::Callbacks`, if a proc is given as a condition to `:if`, the block must take the class instance as a parameter. `self` is not automatically set.
|
314
|
+
* In `MotionSupport::Callbacks#define_callbacks`, the `:terminator` argument must take a block of the form `lambda { |result| }` where `result` is the intermediate result from the callback methods.
|
315
|
+
* `NumberHelper` and numeric conversions only support phone numbers for now
|
295
316
|
|
296
317
|
Things to do / to decide:
|
297
318
|
|
@@ -314,8 +335,6 @@ Things to do / to decide:
|
|
314
335
|
* Do we need multibyte string handling extensions? AFAIK, all strings in RubyMotion are UTF-8. Is that true?
|
315
336
|
* Do we need `Struct#to_h`?
|
316
337
|
* Implement extensions to class `Thread` if they make sense.
|
317
|
-
* Port callbacks.rb
|
318
|
-
* Port concern.rb
|
319
338
|
* Do we need the `Configurable` module?
|
320
339
|
* Do we need the `OrderedOptions` class?
|
321
340
|
* Some extensions have to be made available for Cocoa classes (`NSArray`, `NSDictionary` etc.), since we want to effectively handle return values from Objective-C methods (they return Cocoa classes). The way to do this is to write a conversion method from Cocoa class to Ruby class and delegate the extension methods in the Cocoa class to the conversion method. See `motion/core_ext/ns_string.rb` for an example.
|
data/Rakefile
CHANGED
@@ -1,14 +1,3 @@
|
|
1
|
-
class Formotion::Form
|
2
|
-
def row(key)
|
3
|
-
sections.each do |section|
|
4
|
-
section.rows.each do |row|
|
5
|
-
return row if row.key == key
|
6
|
-
end
|
7
|
-
end
|
8
|
-
nil
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
1
|
class InflectorViewController < Formotion::FormController
|
13
2
|
def init
|
14
3
|
initWithForm(build_form)
|
@@ -1,9 +1,11 @@
|
|
1
1
|
require 'motion-require'
|
2
2
|
|
3
3
|
files = [
|
4
|
+
"_stdlib/array",
|
4
5
|
"concern",
|
5
6
|
"descendants_tracker",
|
6
|
-
"callbacks"
|
7
|
+
"callbacks",
|
8
|
+
"core_ext/kernel/singleton_class"
|
7
9
|
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../motion", "#{file}.rb")) }
|
8
10
|
|
9
11
|
Motion::Require.all(files)
|
data/motion/_stdlib/date.rb
CHANGED
@@ -1,4 +1,46 @@
|
|
1
1
|
class Numeric
|
2
|
+
# Provides options for converting numbers into formatted strings.
|
3
|
+
# Right now, options are only provided for phone numbers.
|
4
|
+
#
|
5
|
+
# ==== Options
|
6
|
+
#
|
7
|
+
# For details on which formats use which options, see MotionSupport::NumberHelper
|
8
|
+
#
|
9
|
+
# ==== Examples
|
10
|
+
#
|
11
|
+
# Phone Numbers:
|
12
|
+
# 5551234.to_s(:phone) # => 555-1234
|
13
|
+
# 1235551234.to_s(:phone) # => 123-555-1234
|
14
|
+
# 1235551234.to_s(:phone, area_code: true) # => (123) 555-1234
|
15
|
+
# 1235551234.to_s(:phone, delimiter: ' ') # => 123 555 1234
|
16
|
+
# 1235551234.to_s(:phone, area_code: true, extension: 555) # => (123) 555-1234 x 555
|
17
|
+
# 1235551234.to_s(:phone, country_code: 1) # => +1-123-555-1234
|
18
|
+
# 1235551234.to_s(:phone, country_code: 1, extension: 1343, delimiter: '.')
|
19
|
+
# # => +1.123.555.1234 x 1343
|
20
|
+
def to_formatted_s(format = :default, options = {})
|
21
|
+
case format
|
22
|
+
when :phone
|
23
|
+
return MotionSupport::NumberHelper.number_to_phone(self, options)
|
24
|
+
else
|
25
|
+
self.to_default_s
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
[Float, Fixnum, Bignum].each do |klass|
|
30
|
+
klass.send(:alias_method, :to_default_s, :to_s)
|
31
|
+
|
32
|
+
klass.send(:define_method, :to_s) do |*args|
|
33
|
+
if args[0].is_a?(Symbol)
|
34
|
+
format = args[0]
|
35
|
+
options = args[1] || {}
|
36
|
+
|
37
|
+
self.to_formatted_s(format, options)
|
38
|
+
else
|
39
|
+
to_default_s(*args)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
2
44
|
# Stub method to return a pseudo-JSON value from a number. It just returns a string by calling to_s.
|
3
45
|
# This should work most of the time.
|
4
46
|
def to_json
|
@@ -1,7 +1,6 @@
|
|
1
1
|
class Object
|
2
2
|
# Returns true if this object is included in the argument(s). Argument must be
|
3
|
-
# any object which responds to +#include
|
4
|
-
# can be passed in. Usage:
|
3
|
+
# any object which responds to +#include?+. Usage:
|
5
4
|
#
|
6
5
|
# characters = ['Konata', 'Kagami', 'Tsukasa']
|
7
6
|
# 'Konata'.in?(characters) # => true
|
data/motion/logger.rb
CHANGED
@@ -1,12 +1,22 @@
|
|
1
|
+
module Kernel
|
2
|
+
def log(*args)
|
3
|
+
MotionSupport.logger.log(*args)
|
4
|
+
end
|
5
|
+
|
6
|
+
def l(*args)
|
7
|
+
MotionSupport.logger.log(args.map { |a| a.inspect })
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
1
11
|
module MotionSupport
|
2
12
|
class NullLogger
|
3
|
-
def log(
|
13
|
+
def log(*args)
|
4
14
|
end
|
5
15
|
end
|
6
16
|
|
7
17
|
class StdoutLogger
|
8
|
-
def log(
|
9
|
-
puts
|
18
|
+
def log(*args)
|
19
|
+
puts args
|
10
20
|
end
|
11
21
|
end
|
12
22
|
|
@@ -21,9 +31,17 @@ module MotionSupport
|
|
21
31
|
@output_stream.open
|
22
32
|
end
|
23
33
|
|
24
|
-
def log(
|
25
|
-
|
26
|
-
|
34
|
+
def log(*args)
|
35
|
+
args.each do |string|
|
36
|
+
data = NSData.alloc.initWithData("#{string}\n".dataUsingEncoding(NSASCIIStringEncoding))
|
37
|
+
@output_stream.write(data.bytes, maxLength:data.length)
|
38
|
+
end
|
27
39
|
end
|
28
40
|
end
|
41
|
+
|
42
|
+
mattr_writer :logger
|
43
|
+
|
44
|
+
def self.logger
|
45
|
+
@logger ||= StdoutLogger.new
|
46
|
+
end
|
29
47
|
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module MotionSupport
|
2
|
+
module NumberHelper
|
3
|
+
extend self
|
4
|
+
|
5
|
+
# Formats a +number+ into a US phone number (e.g., (555)
|
6
|
+
# 123-9876). You can customize the format in the +options+ hash.
|
7
|
+
#
|
8
|
+
# ==== Options
|
9
|
+
#
|
10
|
+
# * <tt>:area_code</tt> - Adds parentheses around the area code.
|
11
|
+
# * <tt>:delimiter</tt> - Specifies the delimiter to use
|
12
|
+
# (defaults to "-").
|
13
|
+
# * <tt>:extension</tt> - Specifies an extension to add to the
|
14
|
+
# end of the generated number.
|
15
|
+
# * <tt>:country_code</tt> - Sets the country code for the phone
|
16
|
+
# number.
|
17
|
+
# ==== Examples
|
18
|
+
#
|
19
|
+
# number_to_phone(5551234) # => 555-1234
|
20
|
+
# number_to_phone('5551234') # => 555-1234
|
21
|
+
# number_to_phone(1235551234) # => 123-555-1234
|
22
|
+
# number_to_phone(1235551234, area_code: true) # => (123) 555-1234
|
23
|
+
# number_to_phone(1235551234, delimiter: ' ') # => 123 555 1234
|
24
|
+
# number_to_phone(1235551234, area_code: true, extension: 555) # => (123) 555-1234 x 555
|
25
|
+
# number_to_phone(1235551234, country_code: 1) # => +1-123-555-1234
|
26
|
+
# number_to_phone('123a456') # => 123a456
|
27
|
+
#
|
28
|
+
# number_to_phone(1235551234, country_code: 1, extension: 1343, delimiter: '.')
|
29
|
+
# # => +1.123.555.1234 x 1343
|
30
|
+
def number_to_phone(number, options = {})
|
31
|
+
return unless number
|
32
|
+
options = options.symbolize_keys
|
33
|
+
|
34
|
+
number = number.to_s.strip
|
35
|
+
area_code = options[:area_code]
|
36
|
+
delimiter = options[:delimiter] || "-"
|
37
|
+
extension = options[:extension]
|
38
|
+
country_code = options[:country_code]
|
39
|
+
|
40
|
+
if area_code
|
41
|
+
number.gsub!(/(\d{1,3})(\d{3})(\d{4}$)/,"(\\1) \\2#{delimiter}\\3")
|
42
|
+
else
|
43
|
+
number.gsub!(/(\d{0,3})(\d{3})(\d{4})$/,"\\1#{delimiter}\\2#{delimiter}\\3")
|
44
|
+
number.slice!(0, 1) if number.start_with?(delimiter) && !delimiter.blank?
|
45
|
+
end
|
46
|
+
|
47
|
+
str = ''
|
48
|
+
str << "+#{country_code}#{delimiter}" unless country_code.blank?
|
49
|
+
str << number
|
50
|
+
str << " x #{extension}" unless extension.blank?
|
51
|
+
str
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/motion/version.rb
CHANGED
@@ -0,0 +1,40 @@
|
|
1
|
+
describe "Numeric" do
|
2
|
+
describe "conversions" do
|
3
|
+
describe "phone" do
|
4
|
+
it "should format phone number without area code" do
|
5
|
+
5551234.to_s(:phone).should == "555-1234"
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should format long number without area code" do
|
9
|
+
225551212.to_s(:phone).should == "22-555-1212"
|
10
|
+
8005551212.to_s(:phone).should == "800-555-1212"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should format phone number with area code" do
|
14
|
+
8005551212.to_s(:phone, :area_code => true).should == "(800) 555-1212"
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should format phone number with custom delimiter" do
|
18
|
+
8005551212.to_s(:phone, :delimiter => " ").should == "800 555 1212"
|
19
|
+
5551212.to_s(:phone, :delimiter => '.').should == "555.1212"
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should append extension to phone number" do
|
23
|
+
8005551212.to_s(:phone, :area_code => true, :extension => 123).should == "(800) 555-1212 x 123"
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should not append whitespace as extension to the phone number" do
|
27
|
+
8005551212.to_s(:phone, :extension => " ").should == "800-555-1212"
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should format phone number with country code" do
|
31
|
+
8005551212.to_s(:phone, :country_code => 1).should == "+1-800-555-1212"
|
32
|
+
225551212.to_s(:phone, :country_code => 45).should == "+45-22-555-1212"
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should format phone number with country code and empty delimiter" do
|
36
|
+
8005551212.to_s(:phone, :country_code => 1, :delimiter => '').should == "+18005551212"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -30,7 +30,7 @@ describe "Time" do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should convert to nsec format" do
|
33
|
-
@time.to_s(:nsec).should == "
|
33
|
+
@time.to_s(:nsec).should == "20050221174430123451232"
|
34
34
|
# Hmm. Looks like RubyMotion has an issue with nanosecs in string time formatting. It should actually be "20050221174430123456789"
|
35
35
|
end
|
36
36
|
|
@@ -26,4 +26,28 @@ describe "NSDictionary" do
|
|
26
26
|
dict.symbolize_keys.should == { :foo => 'bar' }
|
27
27
|
end
|
28
28
|
end
|
29
|
+
|
30
|
+
describe "with_indifferent_access" do
|
31
|
+
it "should work for NSDictionary instances" do
|
32
|
+
dict = NSMutableDictionary.alloc.init
|
33
|
+
dict.setValue('bar', forKey:'foo')
|
34
|
+
dict_indifferent = dict.with_indifferent_access
|
35
|
+
dict_indifferent['foo'].should == 'bar'
|
36
|
+
dict_indifferent[:foo].should == dict_indifferent['foo']
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should work with nested NSDictionary instances" do
|
40
|
+
dict = NSMutableDictionary.alloc.init
|
41
|
+
dict_inner = NSMutableDictionary.alloc.init
|
42
|
+
dict_inner.setValue('value', forKey: 'key')
|
43
|
+
dict.setValue('bar', forKey:'foo')
|
44
|
+
dict.setValue(dict_inner, forKey: 'inner')
|
45
|
+
|
46
|
+
dict_indifferent = dict.with_indifferent_access
|
47
|
+
inner_indifferent = dict_indifferent['inner']
|
48
|
+
dict_indifferent[:inner].should == inner_indifferent
|
49
|
+
inner_indifferent['key'].should == dict_inner['key']
|
50
|
+
inner_indifferent[:key].should == inner_indifferent['key']
|
51
|
+
end
|
52
|
+
end
|
29
53
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
describe "NumberHelper" do
|
2
|
+
class TestClassWithInstanceNumberHelpers
|
3
|
+
include MotionSupport::NumberHelper
|
4
|
+
end
|
5
|
+
|
6
|
+
class TestClassWithClassNumberHelpers
|
7
|
+
extend MotionSupport::NumberHelper
|
8
|
+
end
|
9
|
+
|
10
|
+
before do
|
11
|
+
@instance_with_helpers = TestClassWithInstanceNumberHelpers.new
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "number_to_phone" do
|
15
|
+
it "should convert number to phone" do
|
16
|
+
[@instance_with_helpers, TestClassWithClassNumberHelpers, MotionSupport::NumberHelper].each do |number_helper|
|
17
|
+
number_helper.number_to_phone(5551234).should == "555-1234"
|
18
|
+
number_helper.number_to_phone(8005551212).should == "800-555-1212"
|
19
|
+
number_helper.number_to_phone(8005551212, {:area_code => true}).should == "(800) 555-1212"
|
20
|
+
number_helper.number_to_phone("", {:area_code => true}).should == ""
|
21
|
+
number_helper.number_to_phone(8005551212, {:delimiter => " "}).should == "800 555 1212"
|
22
|
+
number_helper.number_to_phone(8005551212, {:area_code => true, :extension => 123}).should == "(800) 555-1212 x 123"
|
23
|
+
number_helper.number_to_phone(8005551212, :extension => " ").should == "800-555-1212"
|
24
|
+
number_helper.number_to_phone(5551212, :delimiter => '.').should == "555.1212"
|
25
|
+
number_helper.number_to_phone("8005551212").should == "800-555-1212"
|
26
|
+
number_helper.number_to_phone(8005551212, :country_code => 1).should == "+1-800-555-1212"
|
27
|
+
number_helper.number_to_phone(8005551212, :country_code => 1, :delimiter => '').should == "+18005551212"
|
28
|
+
number_helper.number_to_phone(225551212).should == "22-555-1212"
|
29
|
+
number_helper.number_to_phone(225551212, :country_code => 45).should == "+45-22-555-1212"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should return nil when given nil" do
|
34
|
+
[@instance_with_helpers, TestClassWithClassNumberHelpers, MotionSupport::NumberHelper].each do |number_helper|
|
35
|
+
number_helper.number_to_phone(nil).should.be.nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should not mutate options hash" do
|
40
|
+
[@instance_with_helpers, TestClassWithClassNumberHelpers, MotionSupport::NumberHelper].each do |number_helper|
|
41
|
+
options = { 'raise' => true }
|
42
|
+
|
43
|
+
number_helper.number_to_phone(1, options)
|
44
|
+
options.should == { 'raise' => true }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should return non-numeric parameter unchanged" do
|
49
|
+
[@instance_with_helpers, TestClassWithClassNumberHelpers, MotionSupport::NumberHelper].each do |number_helper|
|
50
|
+
number_helper.number_to_phone("x", :country_code => 1, :extension => 123).should == "+1-x x 123"
|
51
|
+
number_helper.number_to_phone("x").should == "x"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
metadata
CHANGED
@@ -1,56 +1,49 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: motion-support
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.4
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 0.2.5
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Thomas Kadauke
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
|
13
|
+
date: 2013-10-02 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
15
16
|
name: motion-require
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
21
22
|
version: 0.0.6
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 0.0.6
|
30
|
-
- !ruby/object:Gem::Dependency
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
31
27
|
name: rake
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
28
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
33
29
|
none: false
|
34
|
-
requirements:
|
35
|
-
- -
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version:
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
|
42
|
-
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
description: Commonly useful extensions to the standard library for RubyMotion. Ported
|
47
|
-
from ActiveSupport.
|
48
|
-
email:
|
36
|
+
version_requirements: *id002
|
37
|
+
description: Commonly useful extensions to the standard library for RubyMotion. Ported from ActiveSupport.
|
38
|
+
email:
|
49
39
|
- thomas.kadauke@googlemail.com
|
50
40
|
executables: []
|
41
|
+
|
51
42
|
extensions: []
|
43
|
+
|
52
44
|
extra_rdoc_files: []
|
53
|
-
|
45
|
+
|
46
|
+
files:
|
54
47
|
- .gitignore
|
55
48
|
- .yardopts
|
56
49
|
- Gemfile
|
@@ -159,6 +152,7 @@ files:
|
|
159
152
|
- motion/inflector/inflections.rb
|
160
153
|
- motion/inflector/methods.rb
|
161
154
|
- motion/logger.rb
|
155
|
+
- motion/number_helper.rb
|
162
156
|
- motion/version.rb
|
163
157
|
- spec/motion-support/_helpers/constantize_test_cases.rb
|
164
158
|
- spec/motion-support/_helpers/inflector_test_cases.rb
|
@@ -196,6 +190,7 @@ files:
|
|
196
190
|
- spec/motion-support/core_ext/module/reachable_spec.rb
|
197
191
|
- spec/motion-support/core_ext/module/remove_method_spec.rb
|
198
192
|
- spec/motion-support/core_ext/numeric/bytes_spec.rb
|
193
|
+
- spec/motion-support/core_ext/numeric/conversions_spec.rb
|
199
194
|
- spec/motion-support/core_ext/object/acts_like_spec.rb
|
200
195
|
- spec/motion-support/core_ext/object/blank_spec.rb
|
201
196
|
- spec/motion-support/core_ext/object/deep_dup_spec.rb
|
@@ -226,37 +221,41 @@ files:
|
|
226
221
|
- spec/motion-support/inflector_spec.rb
|
227
222
|
- spec/motion-support/ns_dictionary_spec.rb
|
228
223
|
- spec/motion-support/ns_string_spec.rb
|
224
|
+
- spec/motion-support/number_helper_spec.rb
|
229
225
|
homepage: https://github.com/tkadauke/motion-support
|
230
226
|
licenses: []
|
227
|
+
|
231
228
|
post_install_message:
|
232
229
|
rdoc_options: []
|
233
|
-
|
230
|
+
|
231
|
+
require_paths:
|
234
232
|
- lib
|
235
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
233
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
236
234
|
none: false
|
237
|
-
requirements:
|
238
|
-
- -
|
239
|
-
- !ruby/object:Gem::Version
|
240
|
-
|
241
|
-
segments:
|
235
|
+
requirements:
|
236
|
+
- - ">="
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
hash: 3988570019635634202
|
239
|
+
segments:
|
242
240
|
- 0
|
243
|
-
|
244
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
|
+
version: "0"
|
242
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
245
243
|
none: false
|
246
|
-
requirements:
|
247
|
-
- -
|
248
|
-
- !ruby/object:Gem::Version
|
249
|
-
|
250
|
-
segments:
|
244
|
+
requirements:
|
245
|
+
- - ">="
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
hash: 3988570019635634202
|
248
|
+
segments:
|
251
249
|
- 0
|
252
|
-
|
250
|
+
version: "0"
|
253
251
|
requirements: []
|
252
|
+
|
254
253
|
rubyforge_project:
|
255
|
-
rubygems_version: 1.8.
|
254
|
+
rubygems_version: 1.8.19
|
256
255
|
signing_key:
|
257
256
|
specification_version: 3
|
258
257
|
summary: Commonly useful extensions to the standard library for RubyMotion
|
259
|
-
test_files:
|
258
|
+
test_files:
|
260
259
|
- spec/motion-support/_helpers/constantize_test_cases.rb
|
261
260
|
- spec/motion-support/_helpers/inflector_test_cases.rb
|
262
261
|
- spec/motion-support/callback_spec.rb
|
@@ -293,6 +292,7 @@ test_files:
|
|
293
292
|
- spec/motion-support/core_ext/module/reachable_spec.rb
|
294
293
|
- spec/motion-support/core_ext/module/remove_method_spec.rb
|
295
294
|
- spec/motion-support/core_ext/numeric/bytes_spec.rb
|
295
|
+
- spec/motion-support/core_ext/numeric/conversions_spec.rb
|
296
296
|
- spec/motion-support/core_ext/object/acts_like_spec.rb
|
297
297
|
- spec/motion-support/core_ext/object/blank_spec.rb
|
298
298
|
- spec/motion-support/core_ext/object/deep_dup_spec.rb
|
@@ -323,3 +323,4 @@ test_files:
|
|
323
323
|
- spec/motion-support/inflector_spec.rb
|
324
324
|
- spec/motion-support/ns_dictionary_spec.rb
|
325
325
|
- spec/motion-support/ns_string_spec.rb
|
326
|
+
- spec/motion-support/number_helper_spec.rb
|