glitched_string 0.1.0 → 0.2.0

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