motion-support 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +4 -1
- data/Gemfile +0 -2
- data/Rakefile +3 -3
- data/lib/motion-support.rb +7 -2
- data/lib/motion-support/callbacks.rb +4 -11
- data/lib/motion-support/concern.rb +4 -7
- data/lib/motion-support/core_ext.rb +3 -2
- data/lib/motion-support/core_ext/array.rb +4 -13
- data/lib/motion-support/core_ext/class.rb +4 -8
- data/lib/motion-support/core_ext/core_ext_files.rb +128 -0
- data/lib/motion-support/core_ext/hash.rb +4 -17
- data/lib/motion-support/core_ext/integer.rb +4 -9
- data/lib/motion-support/core_ext/module.rb +4 -14
- data/lib/motion-support/core_ext/numeric.rb +4 -9
- data/lib/motion-support/core_ext/object.rb +4 -15
- data/lib/motion-support/core_ext/range.rb +4 -8
- data/lib/motion-support/core_ext/string.rb +4 -17
- data/lib/motion-support/core_ext/time.rb +4 -19
- data/lib/motion-support/inflector.rb +4 -12
- data/lib/motion-support/motion_support_files.rb +62 -0
- data/motion-support.gemspec +0 -1
- data/motion/callbacks.rb +0 -2
- data/motion/core_ext/date/acts_like.rb +0 -2
- data/motion/core_ext/date/calculations.rb +1 -3
- data/motion/core_ext/hash/keys.rb +23 -0
- data/motion/core_ext/ns_dictionary.rb +0 -2
- data/motion/core_ext/ns_string.rb +0 -2
- data/motion/core_ext/object/to_param.rb +0 -23
- data/motion/core_ext/object/to_query.rb +0 -5
- data/motion/core_ext/range/include_range.rb +0 -2
- data/motion/core_ext/time/acts_like.rb +0 -2
- data/motion/core_ext/time/calculations.rb +0 -2
- data/motion/hash_with_indifferent_access.rb +0 -2
- data/motion/inflections.rb +0 -2
- data/motion/inflector/inflections.rb +0 -2
- data/motion/version.rb +1 -1
- data/spec/motion-support/core_ext/date/calculation_spec.rb +8 -0
- data/spec/motion-support/core_ext/object/duplicable_spec.rb +1 -1
- data/spec/motion-support/descendants_tracker_spec.rb +1 -1
- metadata +5 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: fb1ff177f4b84a6fc23392f73aa8ceb58eb58a1d6da30660153c004070e42ea7
|
4
|
+
data.tar.gz: 371dcdea83efd1048663c65cd230be45866b2ead4367c0189c2bb69b5c117fed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93871463c660f5b74856a029910f0941f29cac1b754be1c1d56a6a45d2e58611f490f20c2d485c521c72c9843efd9e69e9d03582b8d77f02596e87a31eaf85d9
|
7
|
+
data.tar.gz: 932befa36000e9ea2d5bbcc159606e3d3c228707ba0d028ad52b5a586b44e0ec579b1e1997e86811f14153a44569358de3b6c7895446f87a938f0d0e1fe3abf3
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
2
|
$:.unshift("/Library/RubyMotion/lib")
|
3
|
+
$:.unshift("~/.rubymotion/rubymotion-templates")
|
3
4
|
require 'motion/project/template/ios'
|
4
|
-
require
|
5
|
-
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'motion/project/template/gem/gem_tasks'
|
6
7
|
Bundler.require
|
7
8
|
|
8
9
|
require 'motion-support'
|
@@ -10,5 +11,4 @@ require 'motion-support'
|
|
10
11
|
Motion::Project::App.setup do |app|
|
11
12
|
# Use `rake config' to see complete project settings.
|
12
13
|
app.name = 'MotionSupport'
|
13
|
-
app.detect_dependencies = false
|
14
14
|
end
|
data/lib/motion-support.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
-
|
1
|
+
unless defined?(Motion::Project::Config)
|
2
|
+
raise "This file must be required within a RubyMotion project Rakefile."
|
3
|
+
end
|
2
4
|
|
3
|
-
|
5
|
+
require 'motion-support/motion_support_files'
|
6
|
+
Motion::Project::App.setup do |app|
|
7
|
+
app.files.unshift(MotionSupport.requires)
|
8
|
+
end
|
@@ -1,11 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
"concern",
|
6
|
-
"descendants_tracker",
|
7
|
-
"callbacks",
|
8
|
-
"core_ext/kernel/singleton_class"
|
9
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../motion", "#{file}.rb")) }
|
10
|
-
|
11
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'motion_support_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.callbacks_files)
|
4
|
+
end
|
@@ -1,7 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../motion", "#{file}.rb")) }
|
6
|
-
|
7
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'motion_support_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.concern_files)
|
4
|
+
end
|
@@ -1,13 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'core_ext/array/wrap',
|
6
|
-
'core_ext/array/access',
|
7
|
-
'core_ext/array/conversions',
|
8
|
-
'core_ext/array/extract_options',
|
9
|
-
'core_ext/array/grouping',
|
10
|
-
'core_ext/array/prepend_and_append'
|
11
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
12
|
-
|
13
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.array_files)
|
4
|
+
end
|
@@ -1,8 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'core_ext/class/attribute_accessors',
|
6
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
7
|
-
|
8
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.class_files)
|
4
|
+
end
|
@@ -0,0 +1,128 @@
|
|
1
|
+
module MotionSupport
|
2
|
+
class << self
|
3
|
+
def array_files
|
4
|
+
%w(
|
5
|
+
core_ext/array
|
6
|
+
core_ext/array/wrap
|
7
|
+
core_ext/array/access
|
8
|
+
core_ext/array/conversions
|
9
|
+
core_ext/array/extract_options
|
10
|
+
core_ext/array/grouping
|
11
|
+
core_ext/array/prepend_and_append
|
12
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
13
|
+
end
|
14
|
+
|
15
|
+
def class_files
|
16
|
+
%w(
|
17
|
+
core_ext/class/attribute
|
18
|
+
core_ext/class/attribute_accessors
|
19
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
20
|
+
end
|
21
|
+
|
22
|
+
def hash_files
|
23
|
+
%w(
|
24
|
+
core_ext/ns_dictionary
|
25
|
+
core_ext/object/to_param
|
26
|
+
core_ext/hash/deep_merge
|
27
|
+
core_ext/hash/except
|
28
|
+
core_ext/hash/indifferent_access
|
29
|
+
core_ext/hash/keys
|
30
|
+
core_ext/hash/reverse_merge
|
31
|
+
core_ext/hash/slice
|
32
|
+
core_ext/hash/deep_delete_if
|
33
|
+
hash_with_indifferent_access
|
34
|
+
core_ext/module/delegation
|
35
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
36
|
+
end
|
37
|
+
|
38
|
+
def integer_files
|
39
|
+
%w(
|
40
|
+
core_ext/integer/multiple
|
41
|
+
core_ext/integer/inflections
|
42
|
+
core_ext/integer/time
|
43
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
44
|
+
end
|
45
|
+
|
46
|
+
def module_files
|
47
|
+
%w(
|
48
|
+
core_ext/module/aliasing
|
49
|
+
core_ext/module/introspection
|
50
|
+
core_ext/module/anonymous
|
51
|
+
core_ext/module/reachable
|
52
|
+
core_ext/module/attribute_accessors
|
53
|
+
core_ext/module/attr_internal
|
54
|
+
core_ext/module/delegation
|
55
|
+
core_ext/module/remove_method
|
56
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
57
|
+
end
|
58
|
+
|
59
|
+
def numeric_files
|
60
|
+
%w(
|
61
|
+
duration
|
62
|
+
core_ext/numeric/bytes
|
63
|
+
core_ext/numeric/conversions
|
64
|
+
core_ext/numeric/time
|
65
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
66
|
+
end
|
67
|
+
|
68
|
+
def object_files
|
69
|
+
%w(
|
70
|
+
_stdlib/cgi
|
71
|
+
core_ext/object/acts_like
|
72
|
+
core_ext/object/blank
|
73
|
+
core_ext/object/deep_dup
|
74
|
+
core_ext/object/duplicable
|
75
|
+
core_ext/object/inclusion
|
76
|
+
core_ext/object/try
|
77
|
+
core_ext/object/instance_variables
|
78
|
+
core_ext/object/to_json
|
79
|
+
core_ext/object/to_param
|
80
|
+
core_ext/object/to_query
|
81
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
82
|
+
end
|
83
|
+
|
84
|
+
def range_files
|
85
|
+
%w(
|
86
|
+
core_ext/range/include_range
|
87
|
+
core_ext/range/overlaps
|
88
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
89
|
+
end
|
90
|
+
|
91
|
+
def string_files
|
92
|
+
%w(
|
93
|
+
core_ext/ns_string
|
94
|
+
core_ext/string/access
|
95
|
+
core_ext/string/behavior
|
96
|
+
core_ext/string/exclude
|
97
|
+
core_ext/string/filters
|
98
|
+
core_ext/string/indent
|
99
|
+
core_ext/string/starts_ends_with
|
100
|
+
core_ext/string/inflections
|
101
|
+
core_ext/string/strip
|
102
|
+
core_ext/module/delegation
|
103
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
104
|
+
end
|
105
|
+
|
106
|
+
def time_files
|
107
|
+
%w(
|
108
|
+
_stdlib/date
|
109
|
+
_stdlib/time
|
110
|
+
core_ext/time/acts_like
|
111
|
+
core_ext/time/calculations
|
112
|
+
core_ext/time/conversions
|
113
|
+
core_ext/date/acts_like
|
114
|
+
core_ext/date/calculations
|
115
|
+
core_ext/date/conversions
|
116
|
+
core_ext/date_and_time/calculations
|
117
|
+
core_ext/integer/time
|
118
|
+
core_ext/numeric/time
|
119
|
+
core_ext/object/acts_like
|
120
|
+
duration
|
121
|
+
).map { |file| self.map_core_ext_file_to_motion_dir(file) }
|
122
|
+
end
|
123
|
+
|
124
|
+
def map_core_ext_file_to_motion_dir(file)
|
125
|
+
File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb"))
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
@@ -1,17 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'core_ext/hash/deep_merge',
|
6
|
-
'core_ext/hash/except',
|
7
|
-
'core_ext/hash/indifferent_access',
|
8
|
-
'core_ext/hash/keys',
|
9
|
-
'core_ext/hash/reverse_merge',
|
10
|
-
'core_ext/hash/slice',
|
11
|
-
'core_ext/hash/deep_delete_if',
|
12
|
-
'hash_with_indifferent_access',
|
13
|
-
|
14
|
-
'core_ext/module/delegation'
|
15
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
16
|
-
|
17
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.hash_files)
|
4
|
+
end
|
@@ -1,9 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'core_ext/integer/inflections',
|
6
|
-
'core_ext/integer/time'
|
7
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
8
|
-
|
9
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.integer_files)
|
4
|
+
end
|
@@ -1,14 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'core_ext/module/introspection',
|
6
|
-
'core_ext/module/anonymous',
|
7
|
-
'core_ext/module/reachable',
|
8
|
-
'core_ext/module/attribute_accessors',
|
9
|
-
'core_ext/module/attr_internal',
|
10
|
-
'core_ext/module/delegation',
|
11
|
-
'core_ext/module/remove_method'
|
12
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
13
|
-
|
14
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.module_files)
|
4
|
+
end
|
@@ -1,9 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'core_ext/numeric/conversions',
|
6
|
-
'core_ext/numeric/time'
|
7
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
8
|
-
|
9
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.numeric_files)
|
4
|
+
end
|
@@ -1,15 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'core_ext/object/acts_like',
|
6
|
-
'core_ext/object/blank',
|
7
|
-
'core_ext/object/deep_dup',
|
8
|
-
'core_ext/object/duplicable',
|
9
|
-
'core_ext/object/try',
|
10
|
-
'core_ext/object/instance_variables',
|
11
|
-
'core_ext/object/to_param',
|
12
|
-
'core_ext/object/to_query',
|
13
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
14
|
-
|
15
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.object_files)
|
4
|
+
end
|
@@ -1,8 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'core_ext/range/overlaps'
|
6
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
7
|
-
|
8
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.range_files)
|
4
|
+
end
|
@@ -1,17 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'core_ext/string/access',
|
6
|
-
'core_ext/string/behavior',
|
7
|
-
'core_ext/string/exclude',
|
8
|
-
'core_ext/string/filters',
|
9
|
-
'core_ext/string/indent',
|
10
|
-
'core_ext/string/starts_ends_with',
|
11
|
-
'core_ext/string/inflections',
|
12
|
-
'core_ext/string/strip',
|
13
|
-
|
14
|
-
'core_ext/module/delegation'
|
15
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
16
|
-
|
17
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.string_files)
|
4
|
+
end
|
@@ -1,19 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
'_stdlib/time',
|
6
|
-
'core_ext/time/acts_like',
|
7
|
-
'core_ext/time/calculations',
|
8
|
-
'core_ext/time/conversions',
|
9
|
-
'core_ext/date/acts_like',
|
10
|
-
'core_ext/date/calculations',
|
11
|
-
'core_ext/date/conversions',
|
12
|
-
'core_ext/date_and_time/calculations',
|
13
|
-
'core_ext/integer/time',
|
14
|
-
'core_ext/numeric/time',
|
15
|
-
'core_ext/object/acts_like',
|
16
|
-
'duration'
|
17
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../../motion", "#{file}.rb")) }
|
18
|
-
|
19
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'core_ext_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.time_files)
|
4
|
+
end
|
@@ -1,12 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
files
|
4
|
-
|
5
|
-
"inflector/methods",
|
6
|
-
"inflections",
|
7
|
-
"core_ext/string/inflections",
|
8
|
-
|
9
|
-
"core_ext/array/prepend_and_append"
|
10
|
-
].map { |file| File.expand_path(File.join(File.dirname(__FILE__), "/../../motion", "#{file}.rb")) }
|
11
|
-
|
12
|
-
Motion::Require.all(files)
|
1
|
+
require_relative 'motion_support_files'
|
2
|
+
Motion::Project::App.setup do |app|
|
3
|
+
app.files.unshift(MotionSupport.inflector_files)
|
4
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require_relative 'core_ext/core_ext_files'
|
2
|
+
module MotionSupport
|
3
|
+
class << self
|
4
|
+
|
5
|
+
def callbacks_files
|
6
|
+
%w(
|
7
|
+
_stdlib/array
|
8
|
+
concern
|
9
|
+
descendants_tracker
|
10
|
+
callbacks
|
11
|
+
core_ext/kernel/singleton_class
|
12
|
+
).map { |file| self.map_file_to_motion_dir(file) }
|
13
|
+
end
|
14
|
+
|
15
|
+
def concern_files
|
16
|
+
['concern'].map { |file| self.map_file_to_motion_dir(file) }
|
17
|
+
end
|
18
|
+
|
19
|
+
def core_ext_files
|
20
|
+
base_files = %w(
|
21
|
+
core_ext/enumerable
|
22
|
+
core_ext/array
|
23
|
+
core_ext/metaclass
|
24
|
+
core_ext/ns_dictionary
|
25
|
+
core_ext/ns_string
|
26
|
+
core_ext/regexp
|
27
|
+
).map { |file| self.map_file_to_motion_dir(file) }
|
28
|
+
|
29
|
+
(array_files + class_files + module_files + integer_files + hash_files +
|
30
|
+
numeric_files + object_files + range_files + string_files + time_files + base_files).uniq
|
31
|
+
end
|
32
|
+
|
33
|
+
def inflector_files
|
34
|
+
%w(
|
35
|
+
inflector/inflections
|
36
|
+
inflector/methods
|
37
|
+
inflections
|
38
|
+
core_ext/string/inflections
|
39
|
+
core_ext/array/prepend_and_append
|
40
|
+
).map { |file| self.map_file_to_motion_dir(file) }
|
41
|
+
end
|
42
|
+
|
43
|
+
def requires
|
44
|
+
base_files = %w(
|
45
|
+
callbacks
|
46
|
+
concern
|
47
|
+
descendants_tracker
|
48
|
+
duration
|
49
|
+
hash_with_indifferent_access
|
50
|
+
inflections
|
51
|
+
logger
|
52
|
+
number_helper
|
53
|
+
version
|
54
|
+
).map { |file| self.map_file_to_motion_dir(file) }
|
55
|
+
(callbacks_files + core_ext_files + inflector_files + base_files).uniq
|
56
|
+
end
|
57
|
+
|
58
|
+
def map_file_to_motion_dir(file)
|
59
|
+
File.expand_path(File.join(File.dirname(__FILE__), "/../../motion", "#{file}.rb"))
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/motion-support.gemspec
CHANGED
data/motion/callbacks.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
motion_require "../date_and_time/calculations"
|
2
|
-
|
3
1
|
class Date
|
4
2
|
include DateAndTime::Calculations
|
5
3
|
|
@@ -79,7 +77,7 @@ class Date
|
|
79
77
|
end
|
80
78
|
alias_method :plus_without_duration, :+
|
81
79
|
alias_method :+, :plus_with_duration
|
82
|
-
|
80
|
+
|
83
81
|
def minus_with_duration(other) #:nodoc:
|
84
82
|
if MotionSupport::Duration === other
|
85
83
|
plus_with_duration(-other)
|
@@ -147,4 +147,27 @@ class Hash
|
|
147
147
|
def deep_symbolize_keys!
|
148
148
|
deep_transform_keys!{ |key| key.to_sym rescue key }
|
149
149
|
end
|
150
|
+
|
151
|
+
# Returns a string representation of the receiver suitable for use as a URL
|
152
|
+
# query string:
|
153
|
+
#
|
154
|
+
# {name: 'David', nationality: 'Danish'}.to_param
|
155
|
+
# # => "name=David&nationality=Danish"
|
156
|
+
#
|
157
|
+
# An optional namespace can be passed to enclose the param names:
|
158
|
+
#
|
159
|
+
# {name: 'David', nationality: 'Danish'}.to_param('user')
|
160
|
+
# # => "user[name]=David&user[nationality]=Danish"
|
161
|
+
#
|
162
|
+
# The string pairs "key=value" that conform the query string
|
163
|
+
# are sorted lexicographically in ascending order.
|
164
|
+
#
|
165
|
+
# This method is also aliased as +to_query+.
|
166
|
+
def to_param(namespace = nil)
|
167
|
+
collect do |key, value|
|
168
|
+
value.to_query(namespace ? "#{namespace}[#{key}]" : key)
|
169
|
+
end.sort * '&'
|
170
|
+
end
|
171
|
+
alias_method :to_query, :to_param
|
172
|
+
|
150
173
|
end
|
@@ -33,26 +33,3 @@ class Array
|
|
33
33
|
collect { |e| e.to_param }.join '/'
|
34
34
|
end
|
35
35
|
end
|
36
|
-
|
37
|
-
class Hash
|
38
|
-
# Returns a string representation of the receiver suitable for use as a URL
|
39
|
-
# query string:
|
40
|
-
#
|
41
|
-
# {name: 'David', nationality: 'Danish'}.to_param
|
42
|
-
# # => "name=David&nationality=Danish"
|
43
|
-
#
|
44
|
-
# An optional namespace can be passed to enclose the param names:
|
45
|
-
#
|
46
|
-
# {name: 'David', nationality: 'Danish'}.to_param('user')
|
47
|
-
# # => "user[name]=David&user[nationality]=Danish"
|
48
|
-
#
|
49
|
-
# The string pairs "key=value" that conform the query string
|
50
|
-
# are sorted lexicographically in ascending order.
|
51
|
-
#
|
52
|
-
# This method is also aliased as +to_query+.
|
53
|
-
def to_param(namespace = nil)
|
54
|
-
collect do |key, value|
|
55
|
-
value.to_query(namespace ? "#{namespace}[#{key}]" : key)
|
56
|
-
end.sort * '&'
|
57
|
-
end
|
58
|
-
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
motion_require 'to_param'
|
2
|
-
|
3
1
|
class Object
|
4
2
|
# Converts an object into a string suitable for use as a URL query string, using the given <tt>key</tt> as the
|
5
3
|
# param name.
|
@@ -21,6 +19,3 @@ class Array
|
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
24
|
-
class Hash
|
25
|
-
alias_method :to_query, :to_param
|
26
|
-
end
|
data/motion/inflections.rb
CHANGED
data/motion/version.rb
CHANGED
@@ -182,5 +182,13 @@ describe "Date" do
|
|
182
182
|
Date.yesterday.should.not.be.future
|
183
183
|
end
|
184
184
|
end
|
185
|
+
|
186
|
+
describe "plus_with_duration" do
|
187
|
+
it "should calculate correctly" do
|
188
|
+
(Date.new(1982,10,4) + 1.day).should == Date.new(1982,10,5)
|
189
|
+
(Date.new(1982,10,4) + 1.month).should == Date.new(1982,11,4)
|
190
|
+
(Date.new(1982,10,4) + 1.year).should == Date.new(1983,10,4)
|
191
|
+
end
|
192
|
+
end
|
185
193
|
end
|
186
194
|
end
|
@@ -18,7 +18,7 @@ module DescendantsTrackerSpec
|
|
18
18
|
ALL = [Parent, Child1, Child2, Grandchild1, Grandchild2]
|
19
19
|
end
|
20
20
|
|
21
|
-
describe "
|
21
|
+
describe "DescendantsTracker" do
|
22
22
|
describe "descendants" do
|
23
23
|
it "should get all descendants from parent class" do
|
24
24
|
[DescendantsTrackerSpec::Child1, DescendantsTrackerSpec::Child2, DescendantsTrackerSpec::Grandchild1, DescendantsTrackerSpec::Grandchild2].should == DescendantsTrackerSpec::Parent.descendants
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motion-support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Kadauke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: motion-require
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.0.6
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.0.6
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,6 +56,7 @@ files:
|
|
70
56
|
- lib/motion-support/core_ext.rb
|
71
57
|
- lib/motion-support/core_ext/array.rb
|
72
58
|
- lib/motion-support/core_ext/class.rb
|
59
|
+
- lib/motion-support/core_ext/core_ext_files.rb
|
73
60
|
- lib/motion-support/core_ext/hash.rb
|
74
61
|
- lib/motion-support/core_ext/integer.rb
|
75
62
|
- lib/motion-support/core_ext/module.rb
|
@@ -79,6 +66,7 @@ files:
|
|
79
66
|
- lib/motion-support/core_ext/string.rb
|
80
67
|
- lib/motion-support/core_ext/time.rb
|
81
68
|
- lib/motion-support/inflector.rb
|
69
|
+
- lib/motion-support/motion_support_files.rb
|
82
70
|
- motion-support.gemspec
|
83
71
|
- motion/_stdlib/array.rb
|
84
72
|
- motion/_stdlib/cgi.rb
|
@@ -248,8 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
248
236
|
- !ruby/object:Gem::Version
|
249
237
|
version: '0'
|
250
238
|
requirements: []
|
251
|
-
|
252
|
-
rubygems_version: 2.4.5.1
|
239
|
+
rubygems_version: 3.0.6
|
253
240
|
signing_key:
|
254
241
|
specification_version: 4
|
255
242
|
summary: Commonly useful extensions to the standard library for RubyMotion
|