utilise 1.2.0 → 1.3.0.pre.82

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.
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