motion-support 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -10,3 +10,4 @@ pkg/*
10
10
  .DS_Store
11
11
  doc/*
12
12
  .dat*
13
+ .yardoc
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ motion/**/*.rb
data/HACKS.md ADDED
@@ -0,0 +1,7 @@
1
+ # Hacks to be removed ASAP
2
+
3
+ On every RubyMotion upgrade, check if the following things can be resolved/removed:
4
+
5
+ * Warning about automatic dependency detection (ADD). Currently, ADD does not work out of the box with MotionSupport. There are already a few suggested fixes, so we expect a fix to be released soon.
6
+ * `Object#__in_workaround`. If we define Object#in? directly, we get strange errors when running specs.
7
+ * `Date` class. There is a stub of a reimplementation of that class in MotionSupport. This should removed as soon as RubyMotion gets its own `Date` class (if ever). Otherwise, the implementation should be completed.
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2005-2013 David Heinemeier Hansson
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.
data/README.md CHANGED
@@ -8,156 +8,249 @@ To see what's there, generate the documentation with the `rdoc` command from the
8
8
 
9
9
  Install with
10
10
 
11
- gem install motion-support
11
+ ```
12
+ gem install motion-support
13
+ ```
12
14
 
13
15
  or add to your `Gemfile`
14
16
 
15
- gem 'motion-support'
17
+ ```ruby
18
+ gem 'motion-support'
19
+ ```
20
+
21
+ # API docs
22
+
23
+ [Are here](http://www.rubydoc.info/github/tkadauke/motion-support/master/frames).
16
24
 
17
25
  # Partial loading
18
26
 
19
27
  It is also possible to only use parts of this library. To do so, change your `Gemfile` so that it reads:
20
28
 
21
- gem 'motion-support', :require => false
29
+ ```ruby
30
+ gem 'motion-support', :require => false
31
+ ```
22
32
 
23
33
  Then add a require statement as shown below to your `Rakefile`.
24
34
 
25
35
  ## all
26
36
 
27
- require 'motion-support'
37
+ ```ruby
38
+ require 'motion-support'
39
+ ```
28
40
 
29
41
  Loads everything.
30
42
 
31
43
  ## inflector
32
44
 
33
- require 'motion-support/inflector'
45
+ ```ruby
46
+ require 'motion-support/inflector'
47
+ ```
34
48
 
35
49
  Loads the `Inflector` module and extensions to the `String` class. See the "Inflector" app in the `examples/` folder for what the inflector can do.
36
50
 
37
51
  Example usage include:
38
52
 
39
- "app_delegate".camelize # => "AppDelegate"
40
- "HomeController".constantize # => HomeController
41
- "thing".pluralize # => "things"
42
- "mice".singularize # => "mouse"
53
+ ```ruby
54
+ "app_delegate".camelize
55
+ => "AppDelegate"
56
+ "HomeController".constantize
57
+ => HomeController
58
+ "thing".pluralize
59
+ => "things"
60
+ "mice".singularize
61
+ => "mouse"
62
+ ```
43
63
 
44
64
  ## core_ext
45
65
 
46
- require 'motion-support/core_ext'
66
+ ```ruby
67
+ require 'motion-support/core_ext'
68
+ ```
47
69
 
48
70
  Loads all the extensions to core classes.
49
71
 
50
72
  ## core_ext/array
51
73
 
52
- require 'motion-support/core_ext/array'
74
+ ```ruby
75
+ require 'motion-support/core_ext/array'
76
+ ```
53
77
 
54
78
  Loads extensions to class `Array`. Example usage include
55
79
 
56
- %w( a b c d ).from(2) # => ["c", "d"]
57
- ['one', 'two', 'three'].to_sentence # => "one, two, and three"
58
- args.extract_options! # extracts options hash from variant args array
59
- [1, 2, 3, 4].in_groups_of(2) # => [[1, 2], [3, 4]]
80
+ ```ruby
81
+ %w( a b c d ).from(2)
82
+ => ["c", "d"]
83
+ ['one', 'two', 'three'].to_sentence
84
+ => "one, two, and three"
85
+ [1, 2, 3, 4].in_groups_of(2)
86
+ => [[1, 2], [3, 4]]
87
+ ```
88
+
89
+ Extract options hash from variant args array
90
+
91
+ ```ruby
92
+ args = ['hello', 'world', { :foo => 'bar' }]
93
+ args.extract_options!
94
+ => { :foo => 'bar' }
95
+ ```
60
96
 
61
97
  ## core_ext/class
62
98
 
63
- require 'motion-support/core_ext/class'
99
+ ```ruby
100
+ require 'motion-support/core_ext/class'
101
+ ```
64
102
 
65
103
  Loads extensions to class `Class`.
66
104
 
67
- class Foo
68
- cattr_accessor :bar
69
- class_attribute :foo
70
- end
105
+ ```ruby
106
+ class Foo
107
+ cattr_accessor :bar
108
+ class_attribute :foo
109
+ end
110
+ ```
71
111
 
72
112
  ## core_ext/hash
73
113
 
74
- require 'motion-support/core_ext/hash'
114
+ ```ruby
115
+ require 'motion-support/core_ext/hash'
116
+ ```
75
117
 
76
118
  Loads extensions to class `Hash`, including class `HashWithIndifferentAccess`.
77
119
 
78
- { 'foo' => 'bar', 'baz' => 'bam' }.symbolize_keys # => { :foo => 'bar', :baz => 'bam' }
79
- { 'foo' => 'bar', 'baz' => 'bam' }.except('foo') # => { 'baz' => 'bam' }
80
- { 'foo' => 'bar', 'baz' => 'bam' }.with_indifferent_access
81
- # => #<HashWithIndifferentAccess>
120
+ ```ruby
121
+ { 'foo' => 'bar', 'baz' => 'bam' }.symbolize_keys
122
+ => { :foo => 'bar', :baz => 'bam' }
123
+ { 'foo' => 'bar', 'baz' => 'bam' }.except('foo')
124
+ => { 'baz' => 'bam' }
125
+ { 'foo' => 'bar', 'baz' => 'bam' }.with_indifferent_access
126
+ => #<HashWithIndifferentAccess>
127
+ ```
82
128
 
83
129
  ## core_ext/integer
84
130
 
85
- require 'motion-support/core_ext/integer'
131
+ ```ruby
132
+ require 'motion-support/core_ext/integer'
133
+ ```
86
134
 
87
135
  Loads extensions to class `Integer`.
88
136
 
89
- 1.ordinalize # => "1st"
90
- 3.ordinalize # => "3rd"
137
+ ```ruby
138
+ 1.ordinalize
139
+ => "1st"
140
+ 3.ordinalize
141
+ => "3rd"
142
+ ```
91
143
 
92
144
  ## core_ext/module
93
145
 
94
- require 'motion-support/core_ext/module'
146
+ ```ruby
147
+ require 'motion-support/core_ext/module'
148
+ ```
95
149
 
96
150
  Loads extensions to class `Module`.
97
151
 
98
- module Mod
99
- mattr_accessor :foo, :bar
100
- attr_internal :baz
101
- delegate :boo, :to => :foo
102
-
103
- remove_method :baz
104
- end
152
+ ```ruby
153
+ module Mod
154
+ mattr_accessor :foo, :bar
155
+ attr_internal :baz
156
+ delegate :boo, :to => :foo
157
+
158
+ remove_method :baz
159
+ end
160
+ ```
105
161
 
106
162
  ## core_ext/numeric
107
163
 
108
- require 'motion-support/core_ext/numeric'
164
+ ```ruby
165
+ require 'motion-support/core_ext/numeric'
166
+ ```
109
167
 
110
168
  Loads extensions to class `Numeric`.
111
169
 
112
- 10.kilobytes # => 10240
113
- 2.megabytes # => 2097152
114
- 3.days
170
+ ```ruby
171
+ 10.kilobytes
172
+ => 10240
173
+ 2.megabytes
174
+ => 2097152
175
+ 3.days
176
+ => 3
177
+ ```
115
178
 
116
179
  ## core_ext/object
117
180
 
118
- require 'motion-support/core_ext/object'
181
+ ```ruby
182
+ require 'motion-support/core_ext/object'
183
+ ```
119
184
 
120
185
  Loads extensions to class `Object`.
121
186
 
122
- nil.blank? # => true
123
- Object.new.blank? # => false
124
- { "hello" => "world", "foo" => "bar" }.to_query # => "hello=world&foo=bar"
125
- 1.duplicable? # => false
126
- 1.try(:to_s) # => "1"
127
- nil.try(:to_s) # => nil
187
+ ```ruby
188
+ nil.blank?
189
+ => true
190
+ Object.new.blank?
191
+ => false
192
+ { "hello" => "world", "foo" => "bar" }.to_query
193
+ => "hello=world&foo=bar"
194
+ 1.duplicable?
195
+ => false
196
+ 1.try(:to_s)
197
+ => "1"
198
+ nil.try(:to_s)
199
+ => nil
200
+ ```
128
201
 
129
202
  ## core_ext/range
130
203
 
131
- require 'motion-support/core_ext/range'
204
+ ```ruby
205
+ require 'motion-support/core_ext/range'
206
+ ```
132
207
 
133
208
  Loads extensions to class `Range`.
134
209
 
135
- (1..5).overlaps(3..9) # => true
136
- (1..5).include?(2..3) # => true
210
+ ```ruby
211
+ (1..5).overlaps(3..9)
212
+ => true
213
+ (1..5).include?(2..3)
214
+ => true
215
+ ```
137
216
 
138
217
  ## core_ext/string
139
218
 
140
- require 'motion-support/core_ext/string'
219
+ ```ruby
220
+ require 'motion-support/core_ext/string'
221
+ ```
141
222
 
142
223
  Loads extensions to class `String`.
143
224
 
144
- "ruby_motion".camelize # => "RubyMotion"
145
- "User".pluralize # => "Users"
146
- "mice".singularize # => "mouse"
147
- "Foo::Bar".underscore # => "foo/bar"
148
- "AppDelegate".underscore # => "app_delegate"
149
- "UIView".constantize # => UIView
225
+ ```ruby
226
+ "ruby_motion".camelize
227
+ => "RubyMotion"
228
+ "User".pluralize
229
+ => "Users"
230
+ "mice".singularize
231
+ => "mouse"
232
+ "Foo::Bar".underscore
233
+ => "foo/bar"
234
+ "AppDelegate".underscore
235
+ => "app_delegate"
236
+ "UIView".constantize
237
+ => UIView
238
+ ```
150
239
 
151
240
  ## core_ext/time
152
241
 
153
- require 'motion-support/core_ext/time'
242
+ ```ruby
243
+ require 'motion-support/core_ext/time'
244
+ ```
154
245
 
155
246
  Loads extensions to class `Time`.
156
247
 
157
- 1.week.ago
158
- 17.days.from_now
159
- Date.yesterday
160
- Time.beginning_of_week
248
+ ```ruby
249
+ 1.week.ago
250
+ 17.days.from_now
251
+ Date.yesterday
252
+ Time.beginning_of_week
253
+ ```
161
254
 
162
255
  # Differences to ActiveSupport
163
256
 
@@ -188,7 +281,6 @@ Specifically:
188
281
  * `Date.current` an alias for `Date.today`
189
282
  * `Date#to_time` does not accept a timezone form (`:local`, `:utc`)
190
283
  * `Date#xmlschema` is missing
191
- * `Object#in?` is missing. It is incompatible with Bacon, it will break specs.
192
284
  * `String#parameterize` is missing because it needs to transliterate the string, which is dependent on the locale
193
285
  * `String#constantize` is very slow. Cache the result if you use it.
194
286
  * `String#to_time`, `#to_date`, `#to_datetime` are missing because they depend on `Date#_parse`
@@ -227,12 +319,19 @@ Things to do / to decide:
227
319
  * Do we need the `Configurable` module?
228
320
  * Do we need the `DescendantsTracker` module?
229
321
  * Do we need the `OrderedOptions` class?
322
+ * 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.
230
323
  * Go through documentation and remove or rewrite things not relevant to RubyMotion, especially examples mentioning Rails components
231
324
 
232
325
  # Acknowledgements
233
326
 
234
327
  ActiveSupport was originally written as part of Ruby on Rails by David Heinemeier Hansson. Over the years, countless contributors made many additions. They made this library possible.
235
328
 
329
+ # License
330
+
331
+ MotionSupport is released under the MIT license:
332
+
333
+ <http://www.opensource.org/licenses/MIT>
334
+
236
335
  # Forking
237
336
 
238
337
  Feel free to fork and submit pull requests!
@@ -1,6 +1,7 @@
1
1
  require 'motion-require'
2
2
 
3
3
  files = [
4
+ 'core_ext/ns_string',
4
5
  'core_ext/string/access',
5
6
  'core_ext/string/behavior',
6
7
  'core_ext/string/exclude',
@@ -8,7 +9,9 @@ files = [
8
9
  'core_ext/string/indent',
9
10
  'core_ext/string/starts_ends_with',
10
11
  'core_ext/string/inflections',
11
- 'core_ext/string/strip'
12
+ 'core_ext/string/strip',
13
+
14
+ 'core_ext/module/delegation'
12
15
  ].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
13
16
 
14
17
  Motion::Require.all(files)
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.email = ["thomas.kadauke@googlemail.com"]
9
9
  s.homepage = "https://github.com/tkadauke/motion-support"
10
10
  s.summary = "Commonly useful extensions to the standard library for RubyMotion"
11
- s.description = "Commonly useful extensions to the standard library for RubyMotion. Inspired by ActiveSupport."
11
+ s.description = "Commonly useful extensions to the standard library for RubyMotion. Ported from ActiveSupport."
12
12
 
13
13
  s.files = `git ls-files`.split($\)
14
14
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
@@ -0,0 +1,14 @@
1
+ motion_require "module/delegation"
2
+
3
+ class NSString
4
+ def to_s
5
+ String.new(self)
6
+ end
7
+
8
+ delegate :at, :blank?, :camelcase, :camelize, :classify, :constantize, :dasherize,
9
+ :deconstantize, :demodulize, :exclude?, :first, :foreign_key, :from, :humanize,
10
+ :indent, :indent!, :last, :parameterize, :pluralize, :safe_constantize,
11
+ :singularize, :squish, :squish!, :strip_heredoc, :tableize, :titlecase,
12
+ :titleize, :to, :truncate, :underscore,
13
+ :to => :to_s
14
+ end
@@ -0,0 +1,16 @@
1
+ class Object
2
+ # Returns true if this object is included in the argument(s). Argument must be
3
+ # any object which responds to +#include?+ or optionally, multiple arguments
4
+ # can be passed in. Usage:
5
+ #
6
+ # characters = ['Konata', 'Kagami', 'Tsukasa']
7
+ # 'Konata'.in?(characters) # => true
8
+ #
9
+ # This will throw an ArgumentError it doesn't respond to +#include?+.
10
+ def __in_workaround(args)
11
+ args.include?(self)
12
+ rescue NoMethodError
13
+ raise ArgumentError.new("The parameter passed to #in? must respond to #include?")
14
+ end
15
+ alias in? __in_workaround
16
+ end
@@ -1,3 +1,5 @@
1
+ motion_require 'core_ext/hash/keys'
2
+
1
3
  module MotionSupport
2
4
  # Implements a hash where keys <tt>:foo</tt> and <tt>"foo"</tt> are considered
3
5
  # to be the same.
data/motion/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module MotionSupport
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -0,0 +1,34 @@
1
+ class LifeUniverseAndEverything
2
+ def include?(obj)
3
+ obj == 42
4
+ end
5
+ end
6
+
7
+
8
+ describe 'array' do
9
+ describe "in?" do
10
+ it "should support arrays" do
11
+ 1.in?([1,2,3]).should == true
12
+ 0.in?([1,2,3]).should == false
13
+ end
14
+
15
+ it "should support hashes" do
16
+ :a.in?({a:1,b:2,c:3}).should == true
17
+ 1.in?({a:1,b:2,c:3}).should == false
18
+ end
19
+
20
+ it "should support ranges" do
21
+ 1.in?(1..3).should == true
22
+ 0.in?(1..3).should == false
23
+ end
24
+
25
+ it "should support strings" do
26
+ 'a'.in?("apple").should == true
27
+ end
28
+
29
+ it "should support anything that implements `include?`" do
30
+ 42.in?(LifeUniverseAndEverything.new).should == true
31
+ 0.in?(LifeUniverseAndEverything.new).should == false
32
+ end
33
+ end
34
+ end
@@ -490,9 +490,9 @@ describe "Inflector" do
490
490
  end
491
491
 
492
492
  %w(plurals singulars uncountables humans acronyms).each do |scope|
493
- MotionSupport::Inflector.inflections do |inflect|
494
- it "should clear inflections with #{scope}" do
495
- with_dup do
493
+ it "should clear inflections with #{scope}" do
494
+ with_dup do
495
+ MotionSupport::Inflector.inflections do |inflect|
496
496
  # clear the inflections
497
497
  inflect.clear(scope)
498
498
  inflect.send(scope).should == []
@@ -0,0 +1,182 @@
1
+ describe "NSString" do
2
+ before do
3
+ @string = NSString.stringWithString("ruby_motion")
4
+ end
5
+
6
+ describe "to_s" do
7
+ it "should convert NSDictionary to Hash" do
8
+ @string.to_s.class.should == String
9
+ end
10
+
11
+ it "should preserve the value" do
12
+ @string.to_s.should == @string
13
+ end
14
+ end
15
+
16
+ describe "at" do
17
+ it "should return character at NSString position" do
18
+ @string.at(0).should == 'r'
19
+ end
20
+ end
21
+
22
+ describe "blank?" do
23
+ it "should be true for empty NSString" do
24
+ NSString.stringWithString("").blank?.should == true
25
+ end
26
+
27
+ it "should be false for non-empty NSString" do
28
+ @string.blank?.should == false
29
+ end
30
+ end
31
+
32
+ describe "camelize" do
33
+ it "should camelize NSString" do
34
+ @string.camelize.should == "RubyMotion"
35
+ end
36
+ end
37
+
38
+ describe "classify" do
39
+ it "should classify NSString" do
40
+ @string.classify.should == "RubyMotion"
41
+ end
42
+ end
43
+
44
+ describe "constantize" do
45
+ it "should constantize NSString" do
46
+ NSString.stringWithString("Object").constantize.should == Object
47
+ end
48
+ end
49
+
50
+ describe "dasherize" do
51
+ it "should dasherize NSString" do
52
+ @string.dasherize.should == "ruby-motion"
53
+ end
54
+ end
55
+
56
+ describe "deconstantize" do
57
+ it "should deconstantize NSString" do
58
+ NSString.stringWithString("Ruby::Motion").deconstantize.should == "Ruby"
59
+ end
60
+ end
61
+
62
+ describe "demodulize" do
63
+ it "should demodulize NSString" do
64
+ NSString.stringWithString("Ruby::Motion").demodulize.should == "Motion"
65
+ end
66
+ end
67
+
68
+ describe "exclude?" do
69
+ it "should return true if NSString excludes substring" do
70
+ @string.exclude?("foo").should == true
71
+ @string.exclude?("ruby").should == false
72
+ end
73
+ end
74
+
75
+ describe "first" do
76
+ it "should return first character NSString" do
77
+ @string.first.should == "r"
78
+ end
79
+ end
80
+
81
+ describe "foreign_key" do
82
+ it "should return NSString" do
83
+ @string.foreign_key.should == "ruby_motion_id"
84
+ end
85
+ end
86
+
87
+ describe "from" do
88
+ it "should return substring of NSString starting at position" do
89
+ @string.from(5).should == "motion"
90
+ end
91
+ end
92
+
93
+ describe "humanize" do
94
+ it "should humanize NSString" do
95
+ @string.humanize.should == "Ruby motion"
96
+ end
97
+ end
98
+
99
+ describe "indent" do
100
+ it "should indent NSString" do
101
+ @string.indent(2).should == " ruby_motion"
102
+ end
103
+ end
104
+
105
+ describe "indent!" do
106
+ it "should indent NSString in place" do
107
+ @string.indent!(2).should == " ruby_motion"
108
+ end
109
+ end
110
+
111
+ describe "last" do
112
+ it "should return last character of NSString" do
113
+ @string.last.should == "n"
114
+ end
115
+ end
116
+
117
+ describe "pluralize" do
118
+ it "should pluralize NSString" do
119
+ NSString.stringWithString("thing").pluralize.should == "things"
120
+ end
121
+ end
122
+
123
+ describe "safe_constantize" do
124
+ it "should safe_constantize NSString" do
125
+ NSString.stringWithString("Object").safe_constantize.should == Object
126
+ end
127
+ end
128
+
129
+ describe "singularize" do
130
+ it "should singularize NSString" do
131
+ NSString.stringWithString("things").singularize.should == "thing"
132
+ end
133
+ end
134
+
135
+ describe "squish" do
136
+ it "should squish NSString" do
137
+ NSString.stringWithString(" ruby\n motion").squish.should == "ruby motion"
138
+ end
139
+ end
140
+
141
+ describe "squish!" do
142
+ it "should squish NSString in place" do
143
+ NSString.stringWithString(" ruby\n motion").squish!.should == "ruby motion"
144
+ end
145
+ end
146
+
147
+ describe "strip_heredoc" do
148
+ it "should strip heredoc NSString" do
149
+ NSString.stringWithString(" ruby\n motion").strip_heredoc.should == "ruby\nmotion"
150
+ end
151
+ end
152
+
153
+ describe "tableize" do
154
+ it "should tableize NSString" do
155
+ @string.tableize.should == "ruby_motions"
156
+ end
157
+ end
158
+
159
+ describe "titleize" do
160
+ it "should titleize NSString" do
161
+ @string.titleize.should == "Ruby Motion"
162
+ end
163
+ end
164
+
165
+ describe "to" do
166
+ it "should return substring of NSString up to position" do
167
+ @string.to(3).should == "ruby"
168
+ end
169
+ end
170
+
171
+ describe "truncate" do
172
+ it "should truncate NSString" do
173
+ @string.truncate(5).should == "ru..."
174
+ end
175
+ end
176
+
177
+ describe "underscore" do
178
+ it "should underscore NSString" do
179
+ NSString.stringWithString("RubyMotion").underscore.should == "ruby_motion"
180
+ end
181
+ end
182
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: motion-support
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.0
5
+ version: 0.2.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Thomas Kadauke
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2013-04-30 00:00:00 Z
13
+ date: 2013-05-06 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: motion-require
@@ -34,7 +34,7 @@ dependencies:
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: *id002
37
- description: Commonly useful extensions to the standard library for RubyMotion. Inspired by ActiveSupport.
37
+ description: Commonly useful extensions to the standard library for RubyMotion. Ported from ActiveSupport.
38
38
  email:
39
39
  - thomas.kadauke@googlemail.com
40
40
  executables: []
@@ -45,7 +45,10 @@ extra_rdoc_files: []
45
45
 
46
46
  files:
47
47
  - .gitignore
48
+ - .yardopts
48
49
  - Gemfile
50
+ - HACKS.md
51
+ - MIT-LICENSE
49
52
  - README.md
50
53
  - Rakefile
51
54
  - app/app_delegate.rb
@@ -108,6 +111,7 @@ files:
108
111
  - motion/core_ext/module/reachable.rb
109
112
  - motion/core_ext/module/remove_method.rb
110
113
  - motion/core_ext/ns_dictionary.rb
114
+ - motion/core_ext/ns_string.rb
111
115
  - motion/core_ext/numeric/bytes.rb
112
116
  - motion/core_ext/numeric/conversions.rb
113
117
  - motion/core_ext/numeric/time.rb
@@ -115,6 +119,7 @@ files:
115
119
  - motion/core_ext/object/blank.rb
116
120
  - motion/core_ext/object/deep_dup.rb
117
121
  - motion/core_ext/object/duplicable.rb
122
+ - motion/core_ext/object/inclusion.rb
118
123
  - motion/core_ext/object/instance_variables.rb
119
124
  - motion/core_ext/object/to_param.rb
120
125
  - motion/core_ext/object/to_query.rb
@@ -177,6 +182,7 @@ files:
177
182
  - spec/motion-support/core_ext/object/blank_spec.rb
178
183
  - spec/motion-support/core_ext/object/deep_dup_spec.rb
179
184
  - spec/motion-support/core_ext/object/duplicable_spec.rb
185
+ - spec/motion-support/core_ext/object/inclusion_spec.rb
180
186
  - spec/motion-support/core_ext/object/instance_variable_spec.rb
181
187
  - spec/motion-support/core_ext/object/to_param_spec.rb
182
188
  - spec/motion-support/core_ext/object/to_query_spec.rb
@@ -200,6 +206,7 @@ files:
200
206
  - spec/motion-support/hash_with_indifferent_access_spec.rb
201
207
  - spec/motion-support/inflector_spec.rb
202
208
  - spec/motion-support/ns_dictionary_spec.rb
209
+ - spec/motion-support/ns_string_spec.rb
203
210
  homepage: https://github.com/tkadauke/motion-support
204
211
  licenses: []
205
212
 
@@ -213,7 +220,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
220
  requirements:
214
221
  - - ">="
215
222
  - !ruby/object:Gem::Version
216
- hash: -2446191825511853208
223
+ hash: 1040678399660585820
217
224
  segments:
218
225
  - 0
219
226
  version: "0"
@@ -222,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
229
  requirements:
223
230
  - - ">="
224
231
  - !ruby/object:Gem::Version
225
- hash: -2446191825511853208
232
+ hash: 1040678399660585820
226
233
  segments:
227
234
  - 0
228
235
  version: "0"
@@ -271,6 +278,7 @@ test_files:
271
278
  - spec/motion-support/core_ext/object/blank_spec.rb
272
279
  - spec/motion-support/core_ext/object/deep_dup_spec.rb
273
280
  - spec/motion-support/core_ext/object/duplicable_spec.rb
281
+ - spec/motion-support/core_ext/object/inclusion_spec.rb
274
282
  - spec/motion-support/core_ext/object/instance_variable_spec.rb
275
283
  - spec/motion-support/core_ext/object/to_param_spec.rb
276
284
  - spec/motion-support/core_ext/object/to_query_spec.rb
@@ -294,3 +302,4 @@ test_files:
294
302
  - spec/motion-support/hash_with_indifferent_access_spec.rb
295
303
  - spec/motion-support/inflector_spec.rb
296
304
  - spec/motion-support/ns_dictionary_spec.rb
305
+ - spec/motion-support/ns_string_spec.rb