utilise 1.2.0 → 1.3.0.pre.82

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: b20bccb5b79d938c1d1a77983a3e5e986cf6a998
4
- data.tar.gz: 10ae7d26346976427d72999fbad30fc8c43eacb9
2
+ SHA256:
3
+ metadata.gz: 654a49183555137d6dae00c0dace6375114edca41a3d8e0de23d56c051ea2e99
4
+ data.tar.gz: 19ad97f0ef476effed87fb0d863453d374817831fef2afe24884acd6e0fd522b
5
5
  SHA512:
6
- metadata.gz: 20d21d61c5a5771b8148410a7fc56af73b38c7fcac87d6b2a1ba9fdf6579f416a7ff3fe0edfcf245214c527a5e789a66a00b6073f7cb60c6410a47c72007ffef
7
- data.tar.gz: a17e0a38f38820cee47657557b7f4cd5712ee8d1b63d2e2c933667793e3e441979d468bfc69455067930580431177f3b56aa72a826bf35cde211f3393f61c964
6
+ metadata.gz: ff210a5ac9cdf3b9028ef2dd7692104add7db6f87e20fffe0edcb66bb6f41e43a9cc3c6717cc58daf8d09709003a329f309f7a4df7f6015dfb543a0d41a08441
7
+ data.tar.gz: fee9b2d9eb7ea249abb53d871e36777144db49e27a7ee544522227227568cade2a1e441f6bcf94761de948da939356ec26e5ed4b3347ea7fdeaff7b9d455897b
data/README.md CHANGED
@@ -97,12 +97,15 @@ false.bool?
97
97
  'snake_case'.camel
98
98
  => 'SnakeCase'
99
99
 
100
- 'snake_case'.camel(:lower)
101
- => 'snakeCase'
100
+ 'kebab-case'.camel(:lower)
101
+ => 'kebabCase'
102
102
 
103
103
  'space case'.snake
104
104
  => 'space_case'
105
105
 
106
106
  'CamelCase'.space
107
107
  => 'camel case'
108
+
109
+ 'camelCase'.kebab
110
+ => 'camel-case'
108
111
  ```
@@ -23,15 +23,21 @@ module Utilise
23
23
  split_up.join(' ')
24
24
  end
25
25
 
26
+ # Returns a string in kebab case
27
+ def kebab
28
+ split_up.join('-')
29
+ end
30
+
26
31
  private
27
32
 
28
33
  # Splits up the current string into an array and normalises it
29
34
  def split_up
30
- regex = /(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?=_)|(?= )/
35
+ regex = /(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?=[-_ ])/
31
36
  arr = to_s.split(regex)
32
37
  arr.map!(&:downcase)
33
38
  arr.map!(&:strip)
34
- arr.map { |s| s.delete('_') }
39
+ arr.map! { |s| s.delete('_') }
40
+ arr.map { |s| s.delete('-') }
35
41
  end
36
42
  end
37
43
  end
@@ -1,9 +1,9 @@
1
1
  # Utilise
2
2
  module Utilise
3
3
  # The current gem version
4
- VERSION = '1.2.0'.freeze
4
+ VERSION = '1.3.0'.freeze
5
5
  # The version update date
6
- DATE = '2018-01-03'.freeze
6
+ DATE = '2018-08-15'.freeze
7
7
  # Debug output message
8
8
  MSG = 'Version %<version>s %<date>s (running on %<engine>s-%<ruby>s)'.freeze
9
9
 
@@ -72,6 +72,10 @@ describe String do
72
72
  it 'returns a camel case from complex camel case' do
73
73
  expect('CamelONECase'.camel).to eq 'CamelOneCase'
74
74
  end
75
+
76
+ it 'returns a camel case from camel case' do
77
+ expect('camel-case'.camel).to eq 'CamelCase'
78
+ end
75
79
  end
76
80
 
77
81
  context 'lower option' do
@@ -102,6 +106,10 @@ describe String do
102
106
  it 'returns a camel case from complex camel case' do
103
107
  expect('CamelONECase'.camel(:lower)).to eq 'camelOneCase'
104
108
  end
109
+
110
+ it 'returns a camel case from camel case' do
111
+ expect('camel-case'.camel(:lower)).to eq 'camelCase'
112
+ end
105
113
  end
106
114
  end
107
115
 
@@ -133,6 +141,10 @@ describe String do
133
141
  it 'returns a snake case from complex camel case' do
134
142
  expect('SnakeONECase'.snake).to eq 'snake_one_case'
135
143
  end
144
+
145
+ it 'returns a snake case from snake case' do
146
+ expect('snake-case'.snake).to eq 'snake_case'
147
+ end
136
148
  end
137
149
 
138
150
  describe '#space' do
@@ -163,5 +175,43 @@ describe String do
163
175
  it 'returns a space case from complex camel case' do
164
176
  expect('SpaceONECase'.space).to eq 'space one case'
165
177
  end
178
+
179
+ it 'returns a space case from space case' do
180
+ expect('space-case'.space).to eq 'space case'
181
+ end
182
+ end
183
+
184
+ describe '#kebab' do
185
+ it 'returns a kebab case from camel case' do
186
+ expect('KebabCase'.kebab).to eq 'kebab-case'
187
+ end
188
+
189
+ it 'returns a kebab case from numeric camel case' do
190
+ expect('KebabCase'.kebab).to eq 'kebab-case'
191
+ end
192
+
193
+ it 'returns a kebab case from snake case' do
194
+ expect('kebab_case'.kebab).to eq 'kebab-case'
195
+ end
196
+
197
+ it 'returns a kebab case from numeric snake case' do
198
+ expect('kebab1_case'.kebab).to eq 'kebab1-case'
199
+ end
200
+
201
+ it 'returns a kebab case from space case' do
202
+ expect('kebab case'.kebab).to eq 'kebab-case'
203
+ end
204
+
205
+ it 'returns a kebab case from numeric space case' do
206
+ expect('kebab1 case'.kebab).to eq 'kebab1-case'
207
+ end
208
+
209
+ it 'returns a kebab case from complex camel case' do
210
+ expect('KebabONECase'.kebab).to eq 'kebab-one-case'
211
+ end
212
+
213
+ it 'returns a kebab case from kebab case' do
214
+ expect('kebab-case'.kebab).to eq 'kebab-case'
215
+ end
166
216
  end
167
217
  end
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe Utilise do
4
4
  describe '.version' do
5
5
  it 'should return the current gem version' do
6
- expect(Utilise.version).to eq('1.2.0')
6
+ expect(Utilise.version).to eq('1.3.0')
7
7
  end
8
8
 
9
9
  it 'should return the current gem version with debug information' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utilise
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0.pre.82
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Slaughter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-03 00:00:00.000000000 Z
11
+ date: 2018-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie
@@ -157,12 +157,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
157
  version: '0'
158
158
  required_rubygems_version: !ruby/object:Gem::Requirement
159
159
  requirements:
160
- - - ">="
160
+ - - ">"
161
161
  - !ruby/object:Gem::Version
162
- version: '0'
162
+ version: 1.3.1
163
163
  requirements: []
164
164
  rubyforge_project:
165
- rubygems_version: 2.6.13
165
+ rubygems_version: 2.7.7
166
166
  signing_key:
167
167
  specification_version: 4
168
168
  summary: Utilises a few extra methods
@@ -170,10 +170,10 @@ test_files:
170
170
  - spec/spec_helper.rb
171
171
  - spec/utilise/time_spec.rb
172
172
  - spec/utilise/object_spec.rb
173
- - spec/utilise/array_spec.rb
174
173
  - spec/utilise/hash_spec.rb
174
+ - spec/utilise/array_spec.rb
175
175
  - spec/utilise/version_spec.rb
176
+ - spec/utilise/hashie_spec.rb
176
177
  - spec/utilise/string_spec.rb
177
178
  - spec/utilise/symbol_spec.rb
178
179
  - spec/utilise/integer_spec.rb
179
- - spec/utilise/hashie_spec.rb