glitched_string 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c88b06e276d21409548377b3996874bd2ce095b6
4
+ data.tar.gz: ccc0b86d764206fd96989146b3bd85411b0f2c12
5
+ SHA512:
6
+ metadata.gz: 4e80c07f1cb1c54e905150917ece09bb6b9220faecd9d1fbc1383bd979a4db1139882382c5d46c726f38210a53871e42ff5d1b8be3a7d14ef2ccb5e75f154f6a
7
+ data.tar.gz: ca77f93960c730cf632d9a17080d1a1a22f5a8d0b15308aa64a5a9d574b02590353bc32fcf42902efc81311ad9571afc3c0b8c8ef87b7ff887e4e21e614faaa1
@@ -0,0 +1,48 @@
1
+ # rcov generated
2
+ coverage
3
+
4
+ # rdoc generated
5
+ rdoc
6
+
7
+ # yard generated
8
+ doc
9
+ .yardoc
10
+
11
+ # bundler
12
+ .bundle
13
+
14
+ # jeweler generated
15
+ pkg
16
+
17
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
18
+ #
19
+ # * Create a file at ~/.gitignore
20
+ # * Include files you want ignored
21
+ # * Run: git config --global core.excludesfile ~/.gitignore
22
+ #
23
+ # After doing this, these files will be ignored in all your git projects,
24
+ # saving you from having to 'pollute' every project you touch with them
25
+ #
26
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
27
+ #
28
+ # For MacOS:
29
+ #
30
+ #.DS_Store
31
+
32
+ # For TextMate
33
+ #*.tmproj
34
+ #tmtags
35
+
36
+ # For emacs:
37
+ #*~
38
+ #\#*
39
+ #.\#*
40
+
41
+ # For vim:
42
+ #*.swp
43
+
44
+ # For redcar:
45
+ #.redcar
46
+
47
+ # For rubinius:
48
+ #*.rbc
@@ -0,0 +1,5 @@
1
+ rvm:
2
+ - 1.9.3
3
+ - 2.0.0
4
+ - 2.1.0
5
+ - ruby-head
data/Gemfile CHANGED
@@ -1,7 +1,2 @@
1
- source "http://rubygems.org"
2
- group :development do
3
- gem "rspec", "~> 2.3.0"
4
- gem "bundler", "~> 1.0.0"
5
- gem "jeweler", "~> 1.6.4"
6
- gem "rcov", ">= 0"
7
- end
1
+ source 'https://rubygems.org'
2
+ gemspec
@@ -1,28 +1,35 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ glitched_string (0.2.0)
5
+
1
6
  GEM
2
- remote: http://rubygems.org/
7
+ remote: https://rubygems.org/
3
8
  specs:
4
- diff-lcs (1.1.3)
5
- git (1.2.5)
6
- jeweler (1.6.4)
7
- bundler (~> 1.0)
8
- git (>= 1.2.5)
9
- rake
10
- rake (0.9.2)
11
- rcov (0.9.10)
12
- rspec (2.3.0)
13
- rspec-core (~> 2.3.0)
14
- rspec-expectations (~> 2.3.0)
15
- rspec-mocks (~> 2.3.0)
16
- rspec-core (2.3.1)
17
- rspec-expectations (2.3.0)
18
- diff-lcs (~> 1.1.2)
19
- rspec-mocks (2.3.0)
9
+ coderay (1.1.0)
10
+ diff-lcs (1.2.5)
11
+ method_source (0.8.2)
12
+ pry (0.9.12.4)
13
+ coderay (~> 1.0)
14
+ method_source (~> 0.8)
15
+ slop (~> 3.4)
16
+ rake (10.1.1)
17
+ rspec (2.14.1)
18
+ rspec-core (~> 2.14.0)
19
+ rspec-expectations (~> 2.14.0)
20
+ rspec-mocks (~> 2.14.0)
21
+ rspec-core (2.14.7)
22
+ rspec-expectations (2.14.4)
23
+ diff-lcs (>= 1.1.3, < 2.0)
24
+ rspec-mocks (2.14.4)
25
+ slop (3.4.7)
20
26
 
21
27
  PLATFORMS
22
28
  ruby
23
29
 
24
30
  DEPENDENCIES
25
- bundler (~> 1.0.0)
26
- jeweler (~> 1.6.4)
27
- rcov
28
- rspec (~> 2.3.0)
31
+ bundler (~> 1.3)
32
+ glitched_string!
33
+ pry
34
+ rake
35
+ rspec
data/Rakefile CHANGED
@@ -1,49 +1,6 @@
1
- # encoding: utf-8
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
2
3
 
3
- require 'rubygems'
4
- require 'bundler'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
12
- require 'rake'
4
+ RSpec::Core::RakeTask.new(:spec)
13
5
 
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "glitched_string"
18
- gem.homepage = "http://github.com/makimoto/glitched_string"
19
- gem.license = "MIT"
20
- gem.summary = "converter from string to glitched one"
21
- gem.description = "This gem adds some methods to String class. They generates glitched string"
22
- gem.email = "makimoto@tsuyabu.in"
23
- gem.authors = ["Shimpei Makimoto"]
24
- # dependencies defined in Gemfile
25
- end
26
- Jeweler::RubygemsDotOrgTasks.new
27
-
28
- require 'rspec/core'
29
- require 'rspec/core/rake_task'
30
- RSpec::Core::RakeTask.new(:spec) do |spec|
31
- spec.pattern = FileList['spec/**/*_spec.rb']
32
- end
33
-
34
- RSpec::Core::RakeTask.new(:rcov) do |spec|
35
- spec.pattern = 'spec/**/*_spec.rb'
36
- spec.rcov = true
37
- end
38
-
39
- task :default => :spec
40
-
41
- require 'rake/rdoctask'
42
- Rake::RDocTask.new do |rdoc|
43
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
44
-
45
- rdoc.rdoc_dir = 'rdoc'
46
- rdoc.title = "glitched_string #{version}"
47
- rdoc.rdoc_files.include('README*')
48
- rdoc.rdoc_files.include('lib/**/*.rb')
49
- end
6
+ task default: :spec
@@ -1,60 +1,22 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "glitched_string/version"
5
4
 
6
- Gem::Specification.new do |s|
7
- s.name = %q{glitched_string}
8
- s.version = "0.1.0"
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "glitched_string"
7
+ spec.version = GlitchedString::VERSION
8
+ spec.authors = ["Shimpei Makimoto"]
9
+ spec.email = ["makimoto@tsuyabu.in"]
10
+ spec.summary = %q{This gem adds some methods to String class. They generates glitched string}
11
+ spec.homepage = "https://github.com/makimoto/glitched_string"
12
+ spec.license = "MIT"
13
+ spec.files = `git ls-files`.split($/)
14
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
15
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
+ spec.require_paths = ["lib"]
9
17
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = [%q{Shimpei Makimoto}]
12
- s.date = %q{2011-11-01}
13
- s.description = %q{This gem adds some methods to String class. They generates glitched string}
14
- s.email = %q{makimoto@tsuyabu.in}
15
- s.extra_rdoc_files = [
16
- "LICENSE.txt",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".rspec",
22
- "Gemfile",
23
- "Gemfile.lock",
24
- "LICENSE.txt",
25
- "README.rdoc",
26
- "Rakefile",
27
- "VERSION",
28
- "glitched_string.gemspec",
29
- "lib/glitched_string.rb",
30
- "spec/glitched_string_spec.rb",
31
- "spec/spec_helper.rb"
32
- ]
33
- s.homepage = %q{http://github.com/makimoto/glitched_string}
34
- s.licenses = [%q{MIT}]
35
- s.require_paths = [%q{lib}]
36
- s.rubygems_version = %q{1.8.6}
37
- s.summary = %q{converter from string to glitched one}
38
-
39
- if s.respond_to? :specification_version then
40
- s.specification_version = 3
41
-
42
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
- s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
44
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
45
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
46
- s.add_development_dependency(%q<rcov>, [">= 0"])
47
- else
48
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
49
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
50
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
51
- s.add_dependency(%q<rcov>, [">= 0"])
52
- end
53
- else
54
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
55
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
56
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
57
- s.add_dependency(%q<rcov>, [">= 0"])
58
- end
18
+ spec.add_development_dependency "bundler", "~> 1.3"
19
+ spec.add_development_dependency "rake"
20
+ spec.add_development_dependency "pry"
21
+ spec.add_development_dependency "rspec"
59
22
  end
60
-
@@ -1,4 +1,5 @@
1
- module GlitchedString
1
+ # coding: utf-8
2
+ class GlitchedString
2
3
  UPPER_CHARS = %W[
3
4
  \u030d
4
5
  \u030e
@@ -117,26 +118,29 @@ module GlitchedString
117
118
  \u0359
118
119
  \u035a
119
120
  \u0323
120
- ]
121
- end
121
+ ].freeze
122
122
 
123
- class String
124
- def glitch(options = {})
123
+ def self.glitch(str, options = {})
125
124
  options[:upper] ||= 8
126
125
  options[:middle] ||= 8
127
126
  options[:lower] ||= 8
128
- output = ''
129
- self.split(//).each do |s|
130
- output << s
131
- output << GlitchedString::UPPER_CHARS.sample(options[:upper].to_i).join
132
- output << GlitchedString::MIDDLE_CHARS.sample(options[:middle].to_i).join
133
- output << GlitchedString::LOWER_CHARS.sample(options[:lower].to_i).join
127
+ output = ""
128
+ "".tap do |output|
129
+ str.each_char.each do |s|
130
+ output << s
131
+ output << GlitchedString::UPPER_CHARS.sample(options[:upper].to_i).join
132
+ output << GlitchedString::MIDDLE_CHARS.sample(options[:middle].to_i).join
133
+ output << GlitchedString::LOWER_CHARS.sample(options[:lower].to_i).join
134
+ end
134
135
  end
135
- return output
136
+ end
137
+ end
138
+
139
+ class String
140
+ def glitch(options = {})
141
+ GlitchedString.glitch(self, options)
136
142
  end
137
143
  def glitch!(options = {})
138
- self.replace self.glitch
144
+ self.replace(GlitchedString.glitch(self, options))
139
145
  end
140
- alias :to_glitch :glitch
141
- alias :to_glitch! :glitch!
142
146
  end
@@ -0,0 +1,3 @@
1
+ class GlitchedString
2
+ VERSION = "0.2.0"
3
+ end
@@ -1,23 +1,26 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ # coding: utf-8
2
+ require "spec_helper.rb"
2
3
 
3
- describe "GlitchedString" do
4
- before(:each) do
5
- @str = 'foo'
6
- @str_size = @str.size
7
- end
8
- it "generates glitched string" do
9
- @str.glitch.size.should == @str_size * (8 + 8 + 8 + 1)
10
- @str.should == 'foo'
4
+ describe GlitchedString do
5
+ let(:str) do
6
+ "foo"
11
7
  end
12
8
 
13
- it "generates glitched string with options" do
14
- @str.glitch(:upper => 2, :middle => 4, :lower => 10).size.should == @str_size * (2 + 4 + 10 + 1)
15
- @str.should == 'foo'
9
+ describe "String#glitch" do
10
+ it "generates glitched string" do
11
+ str.glitch.split(//).size.should == str.split(//).size * (8 + 8 + 8 + 1)
12
+ end
13
+
14
+ it "generates glitched string with options" do
15
+ str.glitch(upper: 2, middle: 4, lower: 10).split(//).size.should == str.split(//).size * (2 + 4 + 10 + 1)
16
+ end
16
17
  end
17
18
 
18
- it "generate glitched string destructively" do
19
- result = @str.glitch!
20
- result.size.should == @str_size * (8 + 8 + 8 + 1)
21
- @str.size.should == @str_size * (8 + 8 + 8 + 1)
19
+ describe "String#glitch!" do
20
+ it "generate glitched string destructively" do
21
+ original_str = str.clone
22
+ str.glitch!
23
+ str.split(//).size.should == original_str.split(//).size * (8 + 8 + 8 + 1)
24
+ end
22
25
  end
23
26
  end
@@ -1,12 +1 @@
1
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $LOAD_PATH.unshift(File.dirname(__FILE__))
3
- require 'rspec'
4
1
  require 'glitched_string'
5
-
6
- # Requires supporting files with custom matchers and macros, etc,
7
- # in ./support/ and its subdirectories.
8
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
-
10
- RSpec.configure do |config|
11
-
12
- end
metadata CHANGED
@@ -1,70 +1,82 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glitched_string
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Shimpei Makimoto
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-11-01 00:00:00.000000000Z
11
+ date: 2013-12-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rspec
16
- requirement: &70178102790520 !ruby/object:Gem::Requirement
17
- none: false
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 2.3.0
19
+ version: '1.3'
22
20
  type: :development
23
21
  prerelease: false
24
- version_requirements: *70178102790520
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
25
27
  - !ruby/object:Gem::Dependency
26
- name: bundler
27
- requirement: &70178102790020 !ruby/object:Gem::Requirement
28
- none: false
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ~>
31
+ - - ">="
31
32
  - !ruby/object:Gem::Version
32
- version: 1.0.0
33
+ version: '0'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *70178102790020
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
36
41
  - !ruby/object:Gem::Dependency
37
- name: jeweler
38
- requirement: &70178102789520 !ruby/object:Gem::Requirement
39
- none: false
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - ~>
45
+ - - ">="
42
46
  - !ruby/object:Gem::Version
43
- version: 1.6.4
47
+ version: '0'
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *70178102789520
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
47
55
  - !ruby/object:Gem::Dependency
48
- name: rcov
49
- requirement: &70178102788960 !ruby/object:Gem::Requirement
50
- none: false
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ! '>='
59
+ - - ">="
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *70178102788960
58
- description: This gem adds some methods to String class. They generates glitched string
59
- email: makimoto@tsuyabu.in
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description:
70
+ email:
71
+ - makimoto@tsuyabu.in
60
72
  executables: []
61
73
  extensions: []
62
- extra_rdoc_files:
63
- - LICENSE.txt
64
- - README.rdoc
74
+ extra_rdoc_files: []
65
75
  files:
66
- - .document
67
- - .rspec
76
+ - ".document"
77
+ - ".gitignore"
78
+ - ".rspec"
79
+ - ".travis.yml"
68
80
  - Gemfile
69
81
  - Gemfile.lock
70
82
  - LICENSE.txt
@@ -73,34 +85,33 @@ files:
73
85
  - VERSION
74
86
  - glitched_string.gemspec
75
87
  - lib/glitched_string.rb
88
+ - lib/glitched_string/version.rb
76
89
  - spec/glitched_string_spec.rb
77
90
  - spec/spec_helper.rb
78
- homepage: http://github.com/makimoto/glitched_string
91
+ homepage: https://github.com/makimoto/glitched_string
79
92
  licenses:
80
93
  - MIT
94
+ metadata: {}
81
95
  post_install_message:
82
96
  rdoc_options: []
83
97
  require_paths:
84
98
  - lib
85
99
  required_ruby_version: !ruby/object:Gem::Requirement
86
- none: false
87
100
  requirements:
88
- - - ! '>='
101
+ - - ">="
89
102
  - !ruby/object:Gem::Version
90
103
  version: '0'
91
- segments:
92
- - 0
93
- hash: 1228074958134777549
94
104
  required_rubygems_version: !ruby/object:Gem::Requirement
95
- none: false
96
105
  requirements:
97
- - - ! '>='
106
+ - - ">="
98
107
  - !ruby/object:Gem::Version
99
108
  version: '0'
100
109
  requirements: []
101
110
  rubyforge_project:
102
- rubygems_version: 1.8.6
111
+ rubygems_version: 2.2.0
103
112
  signing_key:
104
- specification_version: 3
105
- summary: converter from string to glitched one
106
- test_files: []
113
+ specification_version: 4
114
+ summary: This gem adds some methods to String class. They generates glitched string
115
+ test_files:
116
+ - spec/glitched_string_spec.rb
117
+ - spec/spec_helper.rb