shiritori 0.0.2 → 0.0.3

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
2
  SHA1:
3
- metadata.gz: 7e6752950cdced80da3d4034986e986c6eec876f
4
- data.tar.gz: 8007c6cc09434f06c712d6508b5d532e3149e7bb
3
+ metadata.gz: c1afc7922a4ce5678d410b947bbe5fc1f61bb0f3
4
+ data.tar.gz: c9166af59fd5be5f1e7f52c9d3c87e33cbd4126b
5
5
  SHA512:
6
- metadata.gz: 233f0bd7c8605ff1835d6ff11b7b24799efa3b90df3f0f9581025dac701ced1866d7b1eb3b906e54e7761f0b5c8c89541b16aa90c785f0f557052aeca7df40bd
7
- data.tar.gz: 2a158d83e90ce4c6fa216b1e8847bbd4a71b4441ff26d2ae08879773ef02869019f043bf2ed71e6a79b15cc5bdebe37fc2c2f4519b84dda621472152ab6f76ed
6
+ metadata.gz: f0c5096aed0f9111808d26129ae64ae5a35fb82e4407d401c188571fe847958e4583a1fdfdfc25e9bf0959c0fa4645517b66bd036b89de0905fa8649dc4176cd
7
+ data.tar.gz: 3557e98e9f3595d77f5f95bf534bb269b4b354bdace41c3c84758d716ebe3f2d765ab5dca2c065ae78d402511a4aa31061de2e9dee5d4ea27a353c9021791e11
data/Guardfile ADDED
@@ -0,0 +1,24 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard :rspec do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7
+ watch('spec/spec_helper.rb') { "spec" }
8
+
9
+ # Rails example
10
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
11
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
12
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
13
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
14
+ watch('config/routes.rb') { "spec/routing" }
15
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
16
+
17
+ # Capybara features specs
18
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
19
+
20
+ # Turnip features and steps
21
+ watch(%r{^spec/acceptance/(.+)\.feature$})
22
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
23
+ end
24
+
data/bin/shiritori CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  require 'shiritori'
4
4
 
5
- Shiritori::Main.new
5
+ Shiritori::Main.new.start
@@ -1,27 +1,25 @@
1
1
  class String
2
- def to_s
3
- inspect
2
+ BLANK_PATTERN = /\A\s*\z/
3
+
4
+ def blank?
5
+ BLANK_PATTERN === self
4
6
  end
5
7
  end
6
8
 
7
9
  class NilClass
8
- def to_s
10
+ def to_ss
9
11
  "nil"
10
12
  end
11
13
  end
12
14
 
13
- class Symbol
14
- def to_s
15
+ class Object
16
+ def to_ss
15
17
  inspect
16
18
  end
17
19
  end
18
20
 
19
21
  class BasicObject
20
- def inspect
21
- self
22
- end
23
-
24
- def to_s
22
+ def to_ss
25
23
  self
26
24
  end
27
25
 
@@ -32,4 +30,6 @@ class BasicObject
32
30
  def eval(str)
33
31
  instance_eval{ instance_eval(str) }
34
32
  end
33
+
34
+ alias :to_s :to_ss
35
35
  end
@@ -15,7 +15,7 @@ module Shiritori
15
15
 
16
16
  def scan_method(klass = BasicObject)
17
17
  @check_list[klass] = true
18
- @method_list |= klass.instance_methods
18
+ @method_list |= (klass.instance_methods - [:exit])
19
19
 
20
20
  ObjectSpace.each_object(singleton(klass)) do |subclass|
21
21
  if klass != subclass
@@ -2,23 +2,24 @@ require 'pp'
2
2
 
3
3
  module Shiritori
4
4
  class Main
5
+ attr_reader :current_object, :chain_count
5
6
  include SearchMethod
6
7
  include View
7
8
 
8
9
  EXIT_PATTERN = /(exit|quit)/.freeze
9
- METHOD_PATTERN = /[\w|\?|\>|\<|\=|\!|\[|\[|\]|\*|\/|\+|\-|\^|\~]+/.freeze
10
+ METHOD_PATTERN = /[\w|\?|\>|\<|\=|\!|\[|\[|\]|\*|\/|\+|\-|\^|\~|\@|\%|\&|]+/.freeze
10
11
 
11
- def initialize
12
- @all_method = get_all_method
13
- @current_object = nil
14
- @current_class = Object
15
- @current_chain = []
16
- @chain_count = 0
12
+ def start
17
13
  init
18
14
  run
19
15
  end
20
16
 
21
- def update
17
+ def update(result = nil)
18
+ if result
19
+ @all_method.delete(result.first)
20
+ @current_object = result.last
21
+ end
22
+
22
23
  begin
23
24
  @current_class = @current_object.class
24
25
  rescue Exception => ex
@@ -28,6 +29,13 @@ module Shiritori
28
29
  end
29
30
 
30
31
  def init
32
+ @all_method = get_all_method
33
+ p @all_method.include?(:exit)
34
+ @current_object = nil
35
+ @current_class = Object
36
+ @current_chain = []
37
+ @chain_count = 0
38
+
31
39
  $stdout.print "Please input first object > "
32
40
  begin
33
41
  str = $stdin.gets.chomp
@@ -42,18 +50,24 @@ module Shiritori
42
50
 
43
51
  def run
44
52
  loop do
45
- show
46
- puts "Current Chain Count: #{@chain_count}"
47
- $stdout.print "Please input next method > "
48
- method = $stdin.gets.chomp
49
- method.sub!(/^\./,"")
50
-
51
- if method_symbol = command_check(method, @current_object)
52
- if @all_method.include?(method_symbol)
53
- @all_method.delete(method_symbol)
54
- @current_object = @current_object.instance_eval{ eval("self."+method) }
55
- @current_chain << method
56
- update
53
+ show_status
54
+
55
+ print "Please input next method > "
56
+ command = $stdin.gets
57
+
58
+ break if command.nil?
59
+ redo if command.blank?
60
+
61
+ command = command.chomp.sub(/^\./,"")
62
+
63
+ puts "Exec command #{[@current_object.to_ss, command].join('.')}"
64
+
65
+ if result = exec_method_chain(command, @current_object)
66
+ if @all_method.include?(result.first)
67
+ update(result)
68
+ @current_chain << command
69
+ elsif result.first == :exit
70
+ break
57
71
  else
58
72
  $stdout.puts "Already used method."
59
73
  end
@@ -61,19 +75,18 @@ module Shiritori
61
75
  end
62
76
  end
63
77
 
64
- def command_check(command, object)
78
+ def exec_method_chain(command, object)
65
79
  method_name = command.scan(METHOD_PATTERN).first.to_sym
80
+ result = [ method_name ]
66
81
 
67
82
  case command
68
83
  when EXIT_PATTERN
69
- exit
84
+ return [:exit]
70
85
  else
71
86
  begin
72
- puts "Exec command #{[object.to_s, command].join('.')}"
73
-
74
87
  Thread.new do
75
88
  raise NoMethodError unless object.respond_to?(method_name)
76
- object.instance_eval{ eval("self."+command) }
89
+ result << object.instance_eval{ eval("self."+command) }
77
90
  end.join
78
91
  rescue Exception => ex
79
92
  puts ex.message
@@ -81,7 +94,7 @@ module Shiritori
81
94
  end
82
95
  end
83
96
 
84
- method_name
97
+ result
85
98
  end
86
99
  end
87
100
  end
@@ -1,3 +1,3 @@
1
1
  module Shiritori
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -6,7 +6,7 @@ module Shiritori
6
6
  $stdout.puts "\n"*num
7
7
  end
8
8
 
9
- def show
9
+ def show_status
10
10
  new_line
11
11
  chain = "#{@current_chain.join('.')}"
12
12
  chain_size = [chain.size+PADDING, 22].max
@@ -18,7 +18,7 @@ module Shiritori
18
18
  $stdout.puts "+#{'-'*chain_size}+"
19
19
 
20
20
  cls = "#{@current_class}"
21
- obj = "#{@current_object.inspect}"
21
+ obj = "#{@current_object.to_ss}"
22
22
  cls_size = ["#{@current_class}".size, 13].max+PADDING
23
23
  obj_size = ["#{@current_object}".size, 14].max+PADDING
24
24
 
@@ -29,6 +29,7 @@ module Shiritori
29
29
  $stdout.puts "|#{cls.center(cls_size)}|#{obj.center(obj_size)}|"
30
30
  $stdout.puts "+#{'-'*(cls_size)}+#{'-'*(obj_size)}+"
31
31
  new_line
32
+ puts "Current Chain Count: #{@chain_count}"
32
33
  end
33
34
  end
34
35
  end
data/lib/shiritori.rb CHANGED
@@ -2,4 +2,4 @@ require "shiritori/version"
2
2
  require "shiritori/search_method"
3
3
  require 'shiritori/view'
4
4
  require 'shiritori/convert'
5
- require "shiritori/shiritori"
5
+ require "shiritori/shiritori"
data/shiritori.gemspec CHANGED
@@ -20,4 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.6"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "rspec"
24
+ spec.add_development_dependency "guard"
25
+ spec.add_development_dependency "guard-rspec"
23
26
  end
@@ -0,0 +1,168 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Shiritori test" do
4
+ let(:main){ Shiritori::Main.new }
5
+
6
+ describe "Fixnum instance methods" do
7
+ let(:object){ 16 }
8
+
9
+ def check( method )
10
+ main.exec_method_chain( method, object )
11
+ end
12
+
13
+ it '#to_s method' do
14
+ expect(check("to_s")).to eq [:to_s, object.to_s]
15
+ expect(check("to_s(2)")).to eq [:to_s, object.to_s(2)]
16
+ expect(check("to_s(8)")).to eq [:to_s, object.to_s(8)]
17
+ expect(check("to_s(16)")).to eq [:to_s, object.to_s(16)]
18
+ end
19
+
20
+ it '#inspect method' do
21
+ expect(check("inspect")).to eq [:inspect, object.inspect]
22
+ end
23
+
24
+ it '#-@ method' do
25
+ expect(check("-@")).to eq [:-@, object.-@]
26
+ end
27
+
28
+ it "#+ method" do
29
+ expect(check("+(3)")).to eq [:+, object.+(3)]
30
+ end
31
+
32
+ it '#- method' do
33
+ expect(check("-(3)")).to eq [:-, object.-(3)]
34
+ end
35
+
36
+ it '#* method' do
37
+ expect(check("*(3)")).to eq [:*, object.*(3)]
38
+ end
39
+
40
+ it '#/ method' do
41
+ expect(check("/(3)")).to eq [:/, object./(3)]
42
+ end
43
+
44
+ it '#div method' do
45
+ expect(check("div(3)")).to eq [:div, object.div(3)]
46
+ end
47
+
48
+ it '#% method' do
49
+ expect(check("%(3)")).to eq [:%, object.%(3)]
50
+ end
51
+
52
+ it '#modulo method' do
53
+ expect(check("modulo(3)")).to eq [:modulo, object.modulo(3)]
54
+ end
55
+
56
+ it '#divmod method' do
57
+ expect(check("divmod(3)")).to eq [:divmod, object.divmod(3)]
58
+ end
59
+
60
+ it '#fdiv method' do
61
+ expect(check("fdiv(3)")).to eq [:fdiv, object.fdiv(3)]
62
+ end
63
+
64
+ it '#** method' do
65
+ expect(check("**(7)")).to eq [:**, object.**(7)]
66
+ end
67
+
68
+ it '#abs method' do
69
+ expect(check("abs")).to eq [:abs, object.abs]
70
+ end
71
+
72
+ it '#magnitude method' do
73
+ expect(check("magnitude")).to eq [:magnitude, object.magnitude]
74
+ end
75
+
76
+ it '#== method' do
77
+ expect(check("==(#{object})")).to eq [:==, object.==(object)]
78
+ expect(check("==(#{object-1})")).to eq [:==, object.==(object-1)]
79
+ end
80
+
81
+ it '#=== method' do
82
+ expect(check("===(#{object})")).to eq [:===, object.===(object)]
83
+ expect(check("===(#{object-1})")).to eq [:===, object.===(object-1)]
84
+ end
85
+
86
+ it '#<=> method' do
87
+ expect(check("<=>(#{object})")).to eq [:<=>, object.<=>(object)]
88
+ expect(check("<=>(#{object+1})")).to eq [:<=>, object.<=>(object+1)]
89
+ expect(check("<=>(#{object-1})")).to eq [:<=>, object.<=>(object-1)]
90
+ end
91
+
92
+ it '#> method' do
93
+ expect(check(">(#{object})")).to eq [:>, object.>(object)]
94
+ expect(check(">(#{object-1})")).to eq [:>, object.>(object-1)]
95
+ end
96
+
97
+ it '#>= method' do
98
+ expect(check(">=(#{object})")).to eq [:>=, object.>=(object)]
99
+ expect(check(">=(#{object-2})")).to eq [:>=, object.>=(object-2)]
100
+ end
101
+
102
+ it '#< method' do
103
+ expect(check("<(#{object})")).to eq [:<, object.<(object)]
104
+ expect(check("<(#{object+1})")).to eq [:<, object.<(object+1)]
105
+ end
106
+
107
+ it '#<= method' do
108
+ expect(check("<=(#{object})")).to eq [:<=, object.<=(object)]
109
+ expect(check("<=(#{object+2})")).to eq [:<=, object.<=(object+2)]
110
+ end
111
+
112
+ it '#~ method' do
113
+ expect(check("~")).to eq [:~, object.~]
114
+ end
115
+
116
+ it '#& method' do
117
+ expect(check("&(-1)")).to eq [:&, object.&(-1)]
118
+ end
119
+
120
+ it '#| method' do
121
+ expect(check("|(1)")).to eq [:|, object.|(1)]
122
+ end
123
+
124
+ it '#^ method' do
125
+ expect(check("^(-1)")).to eq [:^, object.^(-1)]
126
+ end
127
+
128
+ it '#[] method' do
129
+ expect(check("[](0)")).to eq [:[], object.[](0)]
130
+ end
131
+
132
+ it '#<< method' do
133
+ expect(check("<<(3)")).to eq [:<<, object.<<(3)]
134
+ end
135
+
136
+ it '#>> method' do
137
+ expect(check(">>(3)")).to eq [:>>, object.>>(3)]
138
+ end
139
+
140
+ it '#to_f method' do
141
+ expect(check("to_f")).to eq [:to_f, object.to_f]
142
+ end
143
+
144
+ it '#size method' do
145
+ expect(check("size")).to eq [:size, object.size]
146
+ end
147
+
148
+ it '#bit_length method' do
149
+ expect(check("bit_length")).to eq [:bit_length, object.bit_length]
150
+ end
151
+
152
+ it '#zero? method' do
153
+ expect(check("zero?")).to eq [:zero?, object.zero?]
154
+ end
155
+
156
+ it '#odd? method' do
157
+ expect(check("odd?")).to eq [:odd?, object.odd?]
158
+ end
159
+
160
+ it '#even? method' do
161
+ expect(check("even?")).to eq [:even?, object.even?]
162
+ end
163
+
164
+ it '#succ method' do
165
+ expect(check("succ")).to eq [:succ, object.succ]
166
+ end
167
+ end
168
+ end
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+ require 'stringio'
3
+
4
+ describe "Shiritori test" do
5
+ describe "Game Init" do
6
+ it "Game start init" do
7
+ shiritori = Shiritori::Main.new
8
+ fake_stdin(%w("Ruby" chars)) do
9
+ shiritori.start
10
+ end
11
+ expect(shiritori.current_object).to eq ["R", "u", "b", "y"]
12
+ end
13
+ end
14
+
15
+ describe "Example " do
16
+
17
+ let(:shiritori){ Shiritori::Main.new }
18
+
19
+
20
+ it "test play 1" do
21
+ fake_stdin(%w(3 next to_s *(5) chars first instance_eval{(1..10)} each{|n|n*100} map{|n|n+100} inject(:+) class)) do
22
+ shiritori.start
23
+ end
24
+ expect(shiritori.current_object).to eq Fixnum
25
+ end
26
+
27
+ it "test play 2" do
28
+ fake_stdin(%w(BasicObject new __id__ class)) do
29
+ shiritori.start
30
+ end
31
+ expect(shiritori.current_object).to eq Fixnum
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,126 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Shiritori test" do
4
+ let(:main){ Shiritori::Main.new }
5
+
6
+ describe "String instance methods" do
7
+ let(:object){ "Ruby" }
8
+ let(:object_int){ "100" }
9
+ let(:word){ "Hello" }
10
+ let(:num){ 100 }
11
+
12
+ def check( method, obj = object )
13
+ main.exec_method_chain( method, obj )
14
+ end
15
+
16
+ it '#to_s method' do
17
+ expect(check("to_s")).to eq [:to_s, object.to_s]
18
+ end
19
+
20
+ it '#inspect method' do
21
+ expect(check("inspect")).to eq [:inspect, object.inspect]
22
+ end
23
+
24
+ it '#<=> method' do
25
+ expect(check("<=>('#{object}')")).to eq [:<=>, object.<=>(object)]
26
+ end
27
+
28
+ it '#== method' do
29
+ expect(check("==('#{object}')")).to eq [:==, object.==(object)]
30
+ end
31
+
32
+ it '#=== method' do
33
+ expect(check("===('#{object}')")).to eq [:===, object.===(object)]
34
+ end
35
+
36
+ it '#eql? method' do
37
+ expect(check("eql?('#{object}')")).to eq [:eql?, object.eql?(object)]
38
+ end
39
+
40
+ it '#hash method' do
41
+ expect(check("hash")).to eq [:hash, object.hash]
42
+ end
43
+
44
+ it '#casecmp method' do
45
+ expect(check("casecmp('#{object}')")).to eq [:casecmp, object.casecmp(object)]
46
+ end
47
+
48
+ it "#+ method" do
49
+ expect(check("+('#{word}')")).to eq [:+, object.+(word)]
50
+ end
51
+
52
+ it '#* method' do
53
+ expect(check("*(3)")).to eq [:*, object.*(3)]
54
+ end
55
+
56
+ it '#% method' do
57
+ expect(check("%(3)")).to eq [:%, object.%(3)]
58
+ end
59
+
60
+ it '#[] method' do
61
+ expect(check("[](0)")).to eq [:[], object.[](0)]
62
+ end
63
+
64
+ it '#[]= method' do
65
+ expect(check("[]=(0, 'P')")).to eq [:[]=, object.[]=(0, 'P')]
66
+ end
67
+
68
+ it '#insert method' do
69
+ expect(check("insert(0, 'Perl')")).to eq [:insert, object.insert(0, 'Perl')]
70
+ end
71
+
72
+ it '#length method' do
73
+ expect(check("length")).to eq [:length, object.length]
74
+ end
75
+
76
+ it '#size method' do
77
+ expect(check("size")).to eq [:size, object.size]
78
+ end
79
+
80
+ it '#bytesize method' do
81
+ expect(check("bytesize")).to eq [:bytesize, object.bytesize]
82
+ end
83
+
84
+ it '#empty? method' do
85
+ expect(check("empty?")).to eq [:empty?, object.empty?]
86
+ end
87
+
88
+ it '#=~ method' do
89
+ expect(check("=~(/R/)")).to eq [:=~, object.=~(/R/)]
90
+ end
91
+
92
+ it '#match method' do
93
+ expect(check("match(/R/)")).to eq [:match, object.match(/R/)]
94
+ end
95
+
96
+ it '#succ method' do
97
+ expect(check("succ")).to eq [:succ, object.succ]
98
+ end
99
+
100
+ it '#succ! method' do
101
+ expect(check("succ!")).to eq [:succ!, object.succ!]
102
+ end
103
+
104
+ it '#next method' do
105
+ expect(check("next")).to eq [:next, object.next]
106
+ end
107
+
108
+ it '#next! method' do
109
+ expect(check("next!")).to eq [:next!, object.next!]
110
+ end
111
+
112
+ it '#upto method' do
113
+ result = check("upto('Z')","A")
114
+ expect(result.first).to eq :upto
115
+ expect(result.last.to_a).to eq 'A'.upto('Z').to_a
116
+ end
117
+
118
+ it '#index method' do
119
+ expect(check("index('R')")).to eq [:index, object.index('R')]
120
+ end
121
+
122
+ it '#rindex method' do
123
+ expect(check("index('R')")).to eq [:index, object.index('R')]
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,21 @@
1
+ require 'shiritori'
2
+
3
+ $LOAD_PATH << File.expand_path('../../lib', __FILE__)
4
+
5
+ module Helpers
6
+ # Replace standard input with faked one StringIO.
7
+ def fake_stdin(args)
8
+ begin
9
+ $stdin = StringIO.new
10
+ $stdin.puts(args.shift) until args.empty?
11
+ $stdin.rewind
12
+ yield
13
+ ensure
14
+ $stdin = STDIN
15
+ end
16
+ end
17
+ end
18
+
19
+ RSpec.configure do |conf|
20
+ conf.include(Helpers)
21
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shiritori
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - siman-man
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-14 00:00:00.000000000 Z
11
+ date: 2014-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,48 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard-rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  description: shiritori
42
84
  email:
43
85
  - k128585@ie.u-ryukyu.ac.jp
@@ -48,6 +90,7 @@ extra_rdoc_files: []
48
90
  files:
49
91
  - ".gitignore"
50
92
  - Gemfile
93
+ - Guardfile
51
94
  - LICENSE.txt
52
95
  - README.md
53
96
  - Rakefile
@@ -59,6 +102,10 @@ files:
59
102
  - lib/shiritori/version.rb
60
103
  - lib/shiritori/view.rb
61
104
  - shiritori.gemspec
105
+ - spec/shiritori/fixnum_method_spec.rb
106
+ - spec/shiritori/shiritori_spec.rb
107
+ - spec/shiritori/string_method_spec.rb
108
+ - spec/spec_helper.rb
62
109
  homepage: https://github.com/siman-man/shiritori
63
110
  licenses:
64
111
  - MIT
@@ -83,4 +130,8 @@ rubygems_version: 2.2.2
83
130
  signing_key:
84
131
  specification_version: 4
85
132
  summary: shiritori
86
- test_files: []
133
+ test_files:
134
+ - spec/shiritori/fixnum_method_spec.rb
135
+ - spec/shiritori/shiritori_spec.rb
136
+ - spec/shiritori/string_method_spec.rb
137
+ - spec/spec_helper.rb