agile_utils 0.2.1 → 0.2.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ #### 0.2.2
2
+
3
+ - Support more ruby version start from 1.9.3+
4
+ - Update gem dependencies
5
+ - Add 'active-support-core-ext' gem
6
+
1
7
  #### 0.2.1
2
8
 
3
9
  - Make ruby 2.1.0 explicit requirement
data/agile_utils.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.description = %q(My collection of library that I have used that can be shared across multiple projects)
12
12
  spec.homepage = "https://github.com/agilecreativity/agile_utils"
13
13
  spec.license = "MIT"
14
- spec.required_ruby_version = ">= 2.1.0"
14
+ spec.required_ruby_version = ">= 1.9.3"
15
15
  spec.files = Dir.glob("{bin,lib}/**/*") + %w[Gemfile
16
16
  Rakefile
17
17
  agile_utils.gemspec
@@ -23,17 +23,18 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
24
24
  spec.test_files = Dir.glob("{test}/**/*")
25
25
  spec.require_paths = ["lib"]
26
- spec.add_runtime_dependency "thor", "~> 0.19"
26
+ spec.add_runtime_dependency "thor", "~> 0.19.1"
27
27
  spec.add_runtime_dependency "minitar", "~> 0.5.4"
28
- spec.add_development_dependency "bundler", "~> 1.5"
29
- spec.add_development_dependency "rake", "~> 10.1"
30
- spec.add_development_dependency "awesome_print", "~> 1.2"
28
+ spec.add_runtime_dependency "activesupport-core-ext", "~> 4.0.0.2"
29
+ spec.add_development_dependency "bundler", "~> 1.7.0"
30
+ spec.add_development_dependency "rake", "~> 10.3.2"
31
+ spec.add_development_dependency "awesome_print", "~> 1.2.0"
31
32
  spec.add_development_dependency "minitest-spec-context", "~> 0.0.3"
32
- spec.add_development_dependency "guard-minitest", "~> 2.2"
33
- spec.add_development_dependency "minitest", "~> 5.3"
34
- spec.add_development_dependency "guard", "~> 2.6"
35
- spec.add_development_dependency "pry", "~> 0.9.10"
36
- spec.add_development_dependency "gem-ctags", "~> 1.0"
37
- spec.add_development_dependency "yard", "~> 0.8"
38
- spec.add_development_dependency "rubocop", "~> 0.23"
33
+ spec.add_development_dependency "guard-minitest", "~> 2.3.1"
34
+ spec.add_development_dependency "minitest", "~> 5.4.0"
35
+ spec.add_development_dependency "guard", "~> 2.6.1"
36
+ spec.add_development_dependency "pry", "~> 0.10.0"
37
+ spec.add_development_dependency "gem-ctags", "~> 1.0.6"
38
+ spec.add_development_dependency "yard", "~> 0.8.7"
39
+ spec.add_development_dependency "rubocop", "~> 0.24.1"
39
40
  end
data/lib/agile_utils.rb CHANGED
@@ -1,6 +1,11 @@
1
+ # Make use of core_extension (don't invent the wheel)
2
+ require 'active_support'
3
+ require 'active_support/core_ext/object/blank'
4
+ require 'active_support/core_ext/hash/keys'
5
+ require 'active_support/core_ext/hash/indifferent_access'
6
+ require 'active_support/core_ext/kernel/reporting'
7
+
1
8
  require_relative "./agile_utils/version"
2
- require_relative "./agile_utils/core_ext/blank_ext"
3
- require_relative "./agile_utils/core_ext/hash_ext"
4
9
  require_relative "./agile_utils/cli"
5
10
  require_relative "./agile_utils/helper"
6
11
  require_relative "./agile_utils/file_util"
@@ -1,3 +1,3 @@
1
1
  module AgileUtils
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,197 +1,240 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agile_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Burin Choomnuan
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-07-31 00:00:00.000000000 Z
12
+ date: 2014-08-14 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: thor
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - "~>"
19
+ - - ~>
18
20
  - !ruby/object:Gem::Version
19
- version: '0.19'
21
+ version: 0.19.1
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - "~>"
27
+ - - ~>
25
28
  - !ruby/object:Gem::Version
26
- version: '0.19'
29
+ version: 0.19.1
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: minitar
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - "~>"
35
+ - - ~>
32
36
  - !ruby/object:Gem::Version
33
37
  version: 0.5.4
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - "~>"
43
+ - - ~>
39
44
  - !ruby/object:Gem::Version
40
45
  version: 0.5.4
46
+ - !ruby/object:Gem::Dependency
47
+ name: activesupport-core-ext
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 4.0.0.2
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 4.0.0.2
41
62
  - !ruby/object:Gem::Dependency
42
63
  name: bundler
43
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
44
66
  requirements:
45
- - - "~>"
67
+ - - ~>
46
68
  - !ruby/object:Gem::Version
47
- version: '1.5'
69
+ version: 1.7.0
48
70
  type: :development
49
71
  prerelease: false
50
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
51
74
  requirements:
52
- - - "~>"
75
+ - - ~>
53
76
  - !ruby/object:Gem::Version
54
- version: '1.5'
77
+ version: 1.7.0
55
78
  - !ruby/object:Gem::Dependency
56
79
  name: rake
57
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
58
82
  requirements:
59
- - - "~>"
83
+ - - ~>
60
84
  - !ruby/object:Gem::Version
61
- version: '10.1'
85
+ version: 10.3.2
62
86
  type: :development
63
87
  prerelease: false
64
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
65
90
  requirements:
66
- - - "~>"
91
+ - - ~>
67
92
  - !ruby/object:Gem::Version
68
- version: '10.1'
93
+ version: 10.3.2
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: awesome_print
71
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
72
98
  requirements:
73
- - - "~>"
99
+ - - ~>
74
100
  - !ruby/object:Gem::Version
75
- version: '1.2'
101
+ version: 1.2.0
76
102
  type: :development
77
103
  prerelease: false
78
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
79
106
  requirements:
80
- - - "~>"
107
+ - - ~>
81
108
  - !ruby/object:Gem::Version
82
- version: '1.2'
109
+ version: 1.2.0
83
110
  - !ruby/object:Gem::Dependency
84
111
  name: minitest-spec-context
85
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
86
114
  requirements:
87
- - - "~>"
115
+ - - ~>
88
116
  - !ruby/object:Gem::Version
89
117
  version: 0.0.3
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
93
122
  requirements:
94
- - - "~>"
123
+ - - ~>
95
124
  - !ruby/object:Gem::Version
96
125
  version: 0.0.3
97
126
  - !ruby/object:Gem::Dependency
98
127
  name: guard-minitest
99
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
100
130
  requirements:
101
- - - "~>"
131
+ - - ~>
102
132
  - !ruby/object:Gem::Version
103
- version: '2.2'
133
+ version: 2.3.1
104
134
  type: :development
105
135
  prerelease: false
106
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
107
138
  requirements:
108
- - - "~>"
139
+ - - ~>
109
140
  - !ruby/object:Gem::Version
110
- version: '2.2'
141
+ version: 2.3.1
111
142
  - !ruby/object:Gem::Dependency
112
143
  name: minitest
113
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
114
146
  requirements:
115
- - - "~>"
147
+ - - ~>
116
148
  - !ruby/object:Gem::Version
117
- version: '5.3'
149
+ version: 5.4.0
118
150
  type: :development
119
151
  prerelease: false
120
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
121
154
  requirements:
122
- - - "~>"
155
+ - - ~>
123
156
  - !ruby/object:Gem::Version
124
- version: '5.3'
157
+ version: 5.4.0
125
158
  - !ruby/object:Gem::Dependency
126
159
  name: guard
127
160
  requirement: !ruby/object:Gem::Requirement
161
+ none: false
128
162
  requirements:
129
- - - "~>"
163
+ - - ~>
130
164
  - !ruby/object:Gem::Version
131
- version: '2.6'
165
+ version: 2.6.1
132
166
  type: :development
133
167
  prerelease: false
134
168
  version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
135
170
  requirements:
136
- - - "~>"
171
+ - - ~>
137
172
  - !ruby/object:Gem::Version
138
- version: '2.6'
173
+ version: 2.6.1
139
174
  - !ruby/object:Gem::Dependency
140
175
  name: pry
141
176
  requirement: !ruby/object:Gem::Requirement
177
+ none: false
142
178
  requirements:
143
- - - "~>"
179
+ - - ~>
144
180
  - !ruby/object:Gem::Version
145
- version: 0.9.10
181
+ version: 0.10.0
146
182
  type: :development
147
183
  prerelease: false
148
184
  version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
149
186
  requirements:
150
- - - "~>"
187
+ - - ~>
151
188
  - !ruby/object:Gem::Version
152
- version: 0.9.10
189
+ version: 0.10.0
153
190
  - !ruby/object:Gem::Dependency
154
191
  name: gem-ctags
155
192
  requirement: !ruby/object:Gem::Requirement
193
+ none: false
156
194
  requirements:
157
- - - "~>"
195
+ - - ~>
158
196
  - !ruby/object:Gem::Version
159
- version: '1.0'
197
+ version: 1.0.6
160
198
  type: :development
161
199
  prerelease: false
162
200
  version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
163
202
  requirements:
164
- - - "~>"
203
+ - - ~>
165
204
  - !ruby/object:Gem::Version
166
- version: '1.0'
205
+ version: 1.0.6
167
206
  - !ruby/object:Gem::Dependency
168
207
  name: yard
169
208
  requirement: !ruby/object:Gem::Requirement
209
+ none: false
170
210
  requirements:
171
- - - "~>"
211
+ - - ~>
172
212
  - !ruby/object:Gem::Version
173
- version: '0.8'
213
+ version: 0.8.7
174
214
  type: :development
175
215
  prerelease: false
176
216
  version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
177
218
  requirements:
178
- - - "~>"
219
+ - - ~>
179
220
  - !ruby/object:Gem::Version
180
- version: '0.8'
221
+ version: 0.8.7
181
222
  - !ruby/object:Gem::Dependency
182
223
  name: rubocop
183
224
  requirement: !ruby/object:Gem::Requirement
225
+ none: false
184
226
  requirements:
185
- - - "~>"
227
+ - - ~>
186
228
  - !ruby/object:Gem::Version
187
- version: '0.23'
229
+ version: 0.24.1
188
230
  type: :development
189
231
  prerelease: false
190
232
  version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
191
234
  requirements:
192
- - - "~>"
235
+ - - ~>
193
236
  - !ruby/object:Gem::Version
194
- version: '0.23'
237
+ version: 0.24.1
195
238
  description: My collection of library that I have used that can be shared across multiple
196
239
  projects
197
240
  email:
@@ -201,24 +244,22 @@ executables:
201
244
  extensions: []
202
245
  extra_rdoc_files: []
203
246
  files:
204
- - ".gitignore"
205
- - ".rubocop.yml"
206
- - CHANGELOG.md
207
- - Gemfile
208
- - LICENSE
209
- - README.md
210
- - Rakefile
211
- - agile_utils.gemspec
212
247
  - bin/agile_utils
213
- - lib/agile_utils.rb
214
248
  - lib/agile_utils/base_option.rb
215
249
  - lib/agile_utils/cli.rb
216
250
  - lib/agile_utils/constant.rb
217
- - lib/agile_utils/core_ext/blank_ext.rb
218
- - lib/agile_utils/core_ext/hash_ext.rb
219
251
  - lib/agile_utils/file_util.rb
220
252
  - lib/agile_utils/helper.rb
221
253
  - lib/agile_utils/version.rb
254
+ - lib/agile_utils.rb
255
+ - Gemfile
256
+ - Rakefile
257
+ - agile_utils.gemspec
258
+ - README.md
259
+ - CHANGELOG.md
260
+ - LICENSE
261
+ - .rubocop.yml
262
+ - .gitignore
222
263
  - test/fixtures/inputs/demo1.xxx.rb
223
264
  - test/fixtures/inputs/demo2.xxx.rb
224
265
  - test/fixtures/outputs/demo1.xhtml
@@ -229,33 +270,34 @@ files:
229
270
  homepage: https://github.com/agilecreativity/agile_utils
230
271
  licenses:
231
272
  - MIT
232
- metadata: {}
233
273
  post_install_message:
234
274
  rdoc_options: []
235
275
  require_paths:
236
276
  - lib
237
277
  required_ruby_version: !ruby/object:Gem::Requirement
278
+ none: false
238
279
  requirements:
239
- - - ">="
280
+ - - ! '>='
240
281
  - !ruby/object:Gem::Version
241
- version: 2.1.0
282
+ version: 1.9.3
242
283
  required_rubygems_version: !ruby/object:Gem::Requirement
284
+ none: false
243
285
  requirements:
244
- - - ">="
286
+ - - ! '>='
245
287
  - !ruby/object:Gem::Version
246
288
  version: '0'
247
289
  requirements: []
248
290
  rubyforge_project:
249
- rubygems_version: 2.2.2
291
+ rubygems_version: 1.8.23.2
250
292
  signing_key:
251
- specification_version: 4
293
+ specification_version: 3
252
294
  summary: Collection of my ruby library that can be re-used across projects
253
295
  test_files:
254
- - test/lib/agile_utils/test_helper.rb
255
- - test/lib/agile_utils/test_file_util.rb
256
- - test/test_helper.rb
296
+ - test/fixtures/inputs/demo1.xxx.rb
297
+ - test/fixtures/inputs/demo2.xxx.rb
257
298
  - test/fixtures/outputs/demo1.xhtml
258
299
  - test/fixtures/outputs/demo2.xhtml
259
- - test/fixtures/inputs/demo2.xxx.rb
260
- - test/fixtures/inputs/demo1.xxx.rb
300
+ - test/lib/agile_utils/test_file_util.rb
301
+ - test/lib/agile_utils/test_helper.rb
302
+ - test/test_helper.rb
261
303
  has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 1f8c1b541b40fa3be942b14f512ab854ba63db45
4
- data.tar.gz: fc04830898c13606a4bfa0f6f677374268e1990f
5
- SHA512:
6
- metadata.gz: 371f251fc84dfef62e3d066c4977ab68f7f0ac0300ec4066cfdd2877dbb303a485a2cbc4a8d5a237d5f7c978545c4a73796dd4ca0f42fc752fc920f388ca53a6
7
- data.tar.gz: e0b1f935542beecba8a555fffce1b63001f707f7dccef8ba532d1188005c6afb7a4c62b1a09be0f4be31e6e75cc94ce8cc45cc307ef9c875988d582e9698e5e5
@@ -1,109 +0,0 @@
1
- module AgileUtils
2
- module BlankExt
3
- # encoding: utf-8
4
- # from: active_support/core_ext/object/blank.rb
5
- refine Object do
6
- # An object is blank if it's false, empty, or a whitespace string.
7
- # For example, '', ' ', +nil+, [], and {} are all blank.
8
- #
9
- # This simplifies:
10
- #
11
- # if address.nil? || address.empty?
12
- #
13
- # ...to:
14
- #
15
- # if address.blank?
16
- def blank?
17
- respond_to?(:empty?) ? empty? : !self
18
- end
19
-
20
- # An object is present if it's not <tt>blank?</tt>.
21
- def present?
22
- !blank?
23
- end
24
-
25
- # Returns object if it's <tt>present?</tt> otherwise returns +nil+.
26
- # <tt>object.presence</tt> is equivalent to <tt>object.present? ? object : nil</tt>.
27
- #
28
- # This is handy for any representation of objects where blank is the same
29
- # as not present at all. For example, this simplifies a common check for
30
- # HTTP POST/query parameters:
31
- #
32
- # state = params[:state] if params[:state].present?
33
- # country = params[:country] if params[:country].present?
34
- # region = state || country || 'US'
35
- #
36
- # ...becomes:
37
- #
38
- # region = params[:state].presence || params[:country].presence || 'US'
39
- def presence
40
- self if present?
41
- end
42
- end
43
-
44
- refine NilClass do
45
- # +nil+ is blank:
46
- #
47
- # nil.blank? # => true
48
- def blank?
49
- true
50
- end
51
- end
52
-
53
- refine FalseClass do
54
- # +false+ is blank:
55
- #
56
- # false.blank? # => true
57
- def blank?
58
- true
59
- end
60
- end
61
-
62
- refine TrueClass do
63
- # +true+ is not blank:
64
- #
65
- # true.blank? # => false
66
- def blank?
67
- false
68
- end
69
- end
70
-
71
- refine Array do
72
- # An array is blank if it's empty:
73
- #
74
- # [].blank? # => true
75
- # [1,2,3].blank? # => false
76
- alias_method :blank?, :empty?
77
- end
78
-
79
- refine Hash do
80
- # A hash is blank if it's empty:
81
- #
82
- # {}.blank? # => true
83
- # { key: 'value' }.blank? # => false
84
- alias_method :blank?, :empty?
85
- end
86
-
87
- refine String do
88
- # A string is blank if it's empty or contains whitespaces only:
89
- #
90
- # ''.blank? # => true
91
- # ' '.blank? # => true
92
- # ' '.blank? # => true
93
- # ' something here '.blank? # => false
94
- def blank?
95
- self !~ /[^[:space:]]/
96
- end
97
- end
98
-
99
- refine Numeric do #:nodoc:
100
- # No number is blank:
101
- #
102
- # 1.blank? # => false
103
- # 0.blank? # => false
104
- def blank?
105
- false
106
- end
107
- end
108
- end
109
- end
@@ -1,58 +0,0 @@
1
- module AgileUtils
2
- module HashExt
3
- refine Hash do
4
- # File activesupport/lib/active_support/core_ext/hash/keys.rb
5
- #
6
- # hash = { name: 'Rob', age: '28' }
7
- # hash.transform_keys{ |key| key.to_s.upcase }
8
- # => { "NAME" => "Rob", "AGE" => "28" }
9
- def transform_keys
10
- result = {}
11
- each_key do |key|
12
- result[yield(key)] = self[key]
13
- end
14
- result
15
- end
16
-
17
- def transform_keys!(&block)
18
- keys.each do |key|
19
- value = delete(key)
20
- self[yield(key)] = value.is_a?(Hash) ? value.transform_keys!(&block) : value
21
- end
22
- self
23
- end
24
-
25
- # hash = { 'name' => 'Rob', 'age' => '28' }
26
- # hash.symbolize_keys
27
- # => { name: "Rob", age: "28" }
28
- def symbolize_keys
29
- transform_keys { |key| key.to_sym rescue key }
30
- end
31
-
32
- # File activesupport/lib/active_support/core_ext/hash/keys.rb, line 135
33
- def symbolize_keys!
34
- transform_keys! { |key| key.to_sym rescue key }
35
- end
36
-
37
- # Merges the caller into +other_hash+. For example,
38
- #
39
- # options = options.reverse_merge(size: 25, velocity: 10)
40
- #
41
- # is equivalent to
42
- #
43
- # options = { size: 25, velocity: 10 }.merge(options)
44
- #
45
- # This is particularly useful for initializing an options hash
46
- # with default values.
47
- def reverse_merge(other_hash)
48
- other_hash.merge(self)
49
- end
50
-
51
- # Destructive +reverse_merge+.
52
- def reverse_merge!(other_hash)
53
- # right wins if there is no left
54
- merge!(other_hash) { |key, left, right| left }
55
- end
56
- end
57
- end
58
- end