namazing 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/README.md +2 -2
- data/lib/namazing/namazing.rb +4 -5
- data/lib/namazing/wordup.rb +6 -13
- data/spec/lib/namazing/namazing_spec.rb +1 -9
- data/spec/lib/namazing/wordup_spec.rb +5 -10
- data/spec/spec_helper.rb +0 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 385c3380cce19f02a63bec889844e64ab5cfd29a
|
4
|
+
data.tar.gz: 877facb4a26ee0e4bda5c9634a14175d303e252f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9148f01204cca1a6b93654ebadc3f0125980aa9ecbd4f211176acb375c427768a75ec8c91e346d3d175507e1161656d39aa74be13382faa84f50e69d5dbfc823
|
7
|
+
data.tar.gz: 5ef5d67d5e42ae844d7c1b76ba5025f63e6de40974da3b78b7825634a61f211d1ac205195d4fae44bbfdf7e29f96cd5bd3e140fde2642ec918681e5227be4d1a
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1
|
1
|
+
2.1
|
data/README.md
CHANGED
@@ -19,11 +19,11 @@ There are two main use cases for Namazing:
|
|
19
19
|
|
20
20
|
1. Generating a random awesome word:
|
21
21
|
|
22
|
-
|
22
|
+
Namazing.random
|
23
23
|
|
24
24
|
2. Making an existing word or string awesome:
|
25
25
|
|
26
|
-
|
26
|
+
Namazing.to_awesome "boring_word"
|
27
27
|
|
28
28
|
|
29
29
|
## Persistance
|
data/lib/namazing/namazing.rb
CHANGED
@@ -3,11 +3,11 @@ require_relative 'wordup'
|
|
3
3
|
|
4
4
|
module Namazing
|
5
5
|
|
6
|
-
WORDLIST = File.open(File.expand_path(
|
6
|
+
WORDLIST = File.open(File.expand_path('../word_list_filtered.txt', __FILE__)).readlines.collect { |l| l.chomp! }
|
7
7
|
WORDLIST_SIZE = WORDLIST.size
|
8
8
|
|
9
9
|
def self.version
|
10
|
-
"0.0.
|
10
|
+
"0.0.4"
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.random
|
@@ -25,8 +25,7 @@ module Namazing
|
|
25
25
|
|
26
26
|
def self.convert boring_word
|
27
27
|
digest = Digest::SHA256.hexdigest boring_word.downcase
|
28
|
-
wordlist_line = (WORDLIST.size * digest[0..9].hex.to_f / (
|
28
|
+
wordlist_line = (WORDLIST.size * digest[0..9].hex.to_f / ('F' * 10).hex).to_i
|
29
29
|
WORDLIST[wordlist_line]
|
30
30
|
end
|
31
|
-
|
32
|
-
end
|
31
|
+
end
|
data/lib/namazing/wordup.rb
CHANGED
@@ -1,27 +1,22 @@
|
|
1
1
|
require 'active_support/inflector'
|
2
2
|
|
3
3
|
module Namazing
|
4
|
-
|
5
4
|
class Wordup
|
6
5
|
|
7
6
|
attr_accessor :boring, :awesomes
|
8
7
|
|
9
8
|
def initialize boring
|
10
|
-
|
9
|
+
raise ArgumentError, 'Wordup requires a string' unless boring.class == String
|
10
|
+
@boring = boring.gsub(/ /, '_')
|
11
11
|
@awesomes = []
|
12
|
-
raise ArgumentError, "Wordup requires a string" if @boring.class.name != "String"
|
13
12
|
end
|
14
13
|
|
15
14
|
def split
|
16
|
-
|
17
|
-
return @boring.split("_")
|
18
|
-
else
|
19
|
-
return @boring.split /(?=[A-Z])/
|
20
|
-
end
|
15
|
+
type == :underscore ? @boring.split('_') : @boring.split(/(?=[A-Z])/)
|
21
16
|
end
|
22
17
|
|
23
18
|
def awesome
|
24
|
-
result = @awesomes.join(
|
19
|
+
result = @awesomes.join('_')
|
25
20
|
if type == :camelcase
|
26
21
|
return result.camelize(:lower)
|
27
22
|
elsif type == :pascalcase
|
@@ -31,7 +26,7 @@ module Namazing
|
|
31
26
|
end
|
32
27
|
|
33
28
|
def word_count
|
34
|
-
@boring.underscore.split(
|
29
|
+
@boring.underscore.split('_').length
|
35
30
|
end
|
36
31
|
|
37
32
|
def type
|
@@ -46,7 +41,5 @@ module Namazing
|
|
46
41
|
return :underscore
|
47
42
|
end
|
48
43
|
end
|
49
|
-
|
50
44
|
end
|
51
|
-
|
52
|
-
end
|
45
|
+
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Namazing do
|
4
|
-
|
5
4
|
describe "#random" do
|
6
5
|
|
7
6
|
subject { Namazing.random }
|
@@ -20,13 +19,11 @@ describe Namazing do
|
|
20
19
|
|
21
20
|
it "should provide a random word" do
|
22
21
|
srand(10)
|
23
|
-
expect(subject).to eq("
|
22
|
+
expect(subject).to eq("prevocalic")
|
24
23
|
end
|
25
|
-
|
26
24
|
end
|
27
25
|
|
28
26
|
describe "#convert" do
|
29
|
-
|
30
27
|
subject { Namazing.convert "boring" }
|
31
28
|
|
32
29
|
it "should be a string" do
|
@@ -50,11 +47,9 @@ describe Namazing do
|
|
50
47
|
first = subject
|
51
48
|
expect(Namazing.convert "slightlyboring").not_to eq (first)
|
52
49
|
end
|
53
|
-
|
54
50
|
end
|
55
51
|
|
56
52
|
describe "#to_awesome" do
|
57
|
-
|
58
53
|
subject { Namazing.to_awesome "boring" }
|
59
54
|
|
60
55
|
it "should be a string" do
|
@@ -73,8 +68,5 @@ describe Namazing do
|
|
73
68
|
first = subject
|
74
69
|
expect(Namazing.to_awesome("Boring").downcase).to eq(first.downcase)
|
75
70
|
end
|
76
|
-
|
77
|
-
|
78
71
|
end
|
79
|
-
|
80
72
|
end
|
@@ -1,21 +1,16 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
module Namazing
|
4
|
-
|
5
4
|
describe Wordup do
|
6
|
-
|
7
5
|
describe "#initialize" do
|
8
|
-
|
9
6
|
it "should require a string" do
|
10
7
|
expect{Wordup.new(nil)}.to raise_error(ArgumentError)
|
11
8
|
expect{Wordup.new(1)}.to raise_error(ArgumentError)
|
12
9
|
expect{Wordup.new("boring")}.not_to raise_error
|
13
10
|
end
|
14
|
-
|
15
11
|
end
|
16
12
|
|
17
13
|
describe "#word_count" do
|
18
|
-
|
19
14
|
it "should return the correct number of words" do
|
20
15
|
expect(Wordup.new("very_very_extremely_boring").word_count).to eq 4
|
21
16
|
end
|
@@ -27,10 +22,13 @@ module Namazing
|
|
27
22
|
it "should handle camelCase" do
|
28
23
|
expect(Wordup.new("veryBoringName").word_count).to eq 3
|
29
24
|
end
|
25
|
+
|
26
|
+
it 'should handle spaces' do
|
27
|
+
expect(Wordup.new("two words").word_count).to eq 2
|
28
|
+
end
|
30
29
|
end
|
31
30
|
|
32
31
|
describe "#type" do
|
33
|
-
|
34
32
|
it "should identify underscore" do
|
35
33
|
expect(Wordup.new("very_very_extremely_boring").type).to eq :underscore
|
36
34
|
end
|
@@ -45,7 +43,6 @@ module Namazing
|
|
45
43
|
end
|
46
44
|
|
47
45
|
describe "#split" do
|
48
|
-
|
49
46
|
it "should split underscore" do
|
50
47
|
expect(Wordup.new("very_very_extremely_boring").split.length).to eq 4
|
51
48
|
end
|
@@ -58,7 +55,5 @@ module Namazing
|
|
58
55
|
expect(Wordup.new("veryBoringName").split.length).to eq 3
|
59
56
|
end
|
60
57
|
end
|
61
|
-
|
62
58
|
end
|
63
|
-
|
64
|
-
end
|
59
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: namazing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Harper
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|