raheui 1.0.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.
- checksums.yaml +15 -0
- data/.gitignore +19 -0
- data/.rspec +1 -0
- data/.rubocop.yml +14 -0
- data/.rubocop_todo.yml +24 -0
- data/.travis.yml +17 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +8 -0
- data/LICENSE.txt +22 -0
- data/README.md +64 -0
- data/Rakefile +16 -0
- data/bin/raheui +8 -0
- data/lib/raheui/cli.rb +27 -0
- data/lib/raheui/code.rb +106 -0
- data/lib/raheui/io.rb +60 -0
- data/lib/raheui/option.rb +44 -0
- data/lib/raheui/port.rb +14 -0
- data/lib/raheui/queue.rb +18 -0
- data/lib/raheui/runner.rb +212 -0
- data/lib/raheui/stack.rb +13 -0
- data/lib/raheui/store.rb +41 -0
- data/lib/raheui/version.rb +7 -0
- data/lib/raheui.rb +16 -0
- data/raheui.gemspec +26 -0
- data/spec/raheui/cli_spec.rb +39 -0
- data/spec/raheui/code_spec.rb +119 -0
- data/spec/raheui/io_spec.rb +94 -0
- data/spec/raheui/option_spec.rb +43 -0
- data/spec/raheui/port_spec.rb +6 -0
- data/spec/raheui/queue_spec.rb +148 -0
- data/spec/raheui/runner_spec.rb +516 -0
- data/spec/raheui/stack_spec.rb +145 -0
- data/spec/raheui/store_spec.rb +93 -0
- data/spec/raheui/version_spec.rb +8 -0
- data/spec/spec_helper.rb +75 -0
- data/spec/support/exit_code_matchers.rb +27 -0
- data/spec/support/file_helper.rb +38 -0
- data/spec/support/isolated_environment.rb +13 -0
- data/spec/support/shared_store.rb +47 -0
- metadata +168 -0
@@ -0,0 +1,145 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Raheui::Stack do
|
5
|
+
it_behaves_like 'a store'
|
6
|
+
|
7
|
+
describe '#push' do
|
8
|
+
context 'with no elements' do
|
9
|
+
let(:element) { rand(10) }
|
10
|
+
|
11
|
+
it 'returns an array with the pushed element' do
|
12
|
+
expect(subject.push(element)).to match_array([element])
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'with one element' do
|
17
|
+
let(:element) { rand(10) }
|
18
|
+
|
19
|
+
before(:example) { subject.push(42) }
|
20
|
+
|
21
|
+
it 'returns an array with the pushed element at last' do
|
22
|
+
expect(subject.push(element)).to match_array([42, element])
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '#pop' do
|
28
|
+
context 'with no elements' do
|
29
|
+
it 'returns last pushed element' do
|
30
|
+
subject.push(42)
|
31
|
+
expect(subject.pop).to be(42)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'with one element' do
|
36
|
+
let(:element) { rand(10) }
|
37
|
+
|
38
|
+
before(:example) { subject.push(element) }
|
39
|
+
|
40
|
+
it 'returns the element' do
|
41
|
+
expect(subject.pop).to be(element)
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'returns last pushed element' do
|
45
|
+
subject.push(42)
|
46
|
+
expect(subject.pop).to be(42)
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'returns nil after a pop call' do
|
50
|
+
subject.pop
|
51
|
+
expect(subject.pop).to be(nil)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'with more than one element' do
|
56
|
+
let(:one) { rand(10) }
|
57
|
+
let(:two) { rand(10) }
|
58
|
+
|
59
|
+
before(:example) do
|
60
|
+
subject.push(one)
|
61
|
+
subject.push(two)
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'returns the elements in reversed order' do
|
65
|
+
expect(subject.pop).to be(two)
|
66
|
+
expect(subject.pop).to be(one)
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'returns last pushed element' do
|
70
|
+
subject.push(42)
|
71
|
+
expect(subject.pop).to be(42)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe '#push_dup' do
|
77
|
+
context 'with one element' do
|
78
|
+
let(:element) { rand(10) }
|
79
|
+
|
80
|
+
before(:example) { subject.push(element) }
|
81
|
+
|
82
|
+
it 'pushes the last element' do
|
83
|
+
subject.push_dup
|
84
|
+
expect(subject.pop).to be(element)
|
85
|
+
expect(subject.pop).to be(element)
|
86
|
+
end
|
87
|
+
|
88
|
+
it 'pushes last pushed element' do
|
89
|
+
subject.push(42)
|
90
|
+
subject.push_dup
|
91
|
+
expect(subject.pop).to be(42)
|
92
|
+
expect(subject.pop).to be(42)
|
93
|
+
expect(subject.pop).to be(element)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
describe '#swap' do
|
99
|
+
context 'with one element' do
|
100
|
+
let(:element) { rand(10) }
|
101
|
+
|
102
|
+
before(:example) { subject.push(element) }
|
103
|
+
|
104
|
+
it "doesn't modify store" do
|
105
|
+
subject.swap
|
106
|
+
expect(subject.pop).to be(element)
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
context 'with two elements' do
|
111
|
+
let(:one) { rand(10) }
|
112
|
+
let(:two) { rand(10...20) }
|
113
|
+
|
114
|
+
before(:example) do
|
115
|
+
subject.push(one)
|
116
|
+
subject.push(two)
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'swaps the last two elements' do
|
120
|
+
subject.swap
|
121
|
+
expect(subject.pop).to be(one)
|
122
|
+
expect(subject.pop).to be(two)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
context 'with more than two elements' do
|
127
|
+
let(:one) { rand(10) }
|
128
|
+
let(:two) { rand(10...20) }
|
129
|
+
let(:three) { rand(20...30) }
|
130
|
+
|
131
|
+
before(:example) do
|
132
|
+
subject.push(one)
|
133
|
+
subject.push(two)
|
134
|
+
subject.push(three)
|
135
|
+
end
|
136
|
+
|
137
|
+
it 'swaps the last two elements' do
|
138
|
+
subject.swap
|
139
|
+
expect(subject.pop).to be(two)
|
140
|
+
expect(subject.pop).to be(three)
|
141
|
+
expect(subject.pop).to be(one)
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Raheui::Store do
|
5
|
+
let(:base_methods) { Raheui::Store.const_get(:BASE_METHODS) }
|
6
|
+
let(:error_msg) { 'base methods are not implemented: %s' }
|
7
|
+
|
8
|
+
describe '#initialize' do
|
9
|
+
it 'raises NotImplementedError' do
|
10
|
+
expect { subject }.to raise_error(
|
11
|
+
NotImplementedError,
|
12
|
+
format(error_msg, base_methods.join(', ')))
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'with implemented push' do
|
16
|
+
let(:methods) { base_methods - [:push] }
|
17
|
+
|
18
|
+
before(:context) { Raheui::Store.class_eval { def push; end } }
|
19
|
+
after(:context) { Raheui::Store.class_eval { remove_method :push } }
|
20
|
+
|
21
|
+
it 'raises NotImplementedError' do
|
22
|
+
expect(base_methods - methods).to contain_exactly(:push)
|
23
|
+
expect { subject }.to raise_error(
|
24
|
+
NotImplementedError,
|
25
|
+
format(error_msg, methods.join(', ')))
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'with implemented pop' do
|
30
|
+
let(:methods) { base_methods - [:pop] }
|
31
|
+
|
32
|
+
before(:context) { Raheui::Store.class_eval { def pop; end } }
|
33
|
+
after(:context) { Raheui::Store.class_eval { remove_method :pop } }
|
34
|
+
|
35
|
+
it 'raises NotImplementedError' do
|
36
|
+
expect(base_methods - methods).to contain_exactly(:pop)
|
37
|
+
expect { subject }.to raise_error(
|
38
|
+
NotImplementedError,
|
39
|
+
format(error_msg, methods.join(', ')))
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'with implemented swap' do
|
44
|
+
let(:methods) { base_methods - [:swap] }
|
45
|
+
|
46
|
+
before(:context) { Raheui::Store.class_eval { def swap; end } }
|
47
|
+
after(:context) { Raheui::Store.class_eval { remove_method :swap } }
|
48
|
+
|
49
|
+
it 'raises NotImplementedError' do
|
50
|
+
expect(base_methods - methods).to contain_exactly(:swap)
|
51
|
+
expect { subject }.to raise_error(
|
52
|
+
NotImplementedError,
|
53
|
+
format(error_msg, methods.join(', ')))
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'with implemented all base methods' do
|
58
|
+
before(:context) do
|
59
|
+
Raheui::Store.class_eval do
|
60
|
+
def push; end
|
61
|
+
|
62
|
+
def pop; end
|
63
|
+
|
64
|
+
def swap; end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
after(:context) do
|
69
|
+
Raheui::Store.class_eval do
|
70
|
+
remove_method :push
|
71
|
+
remove_method :pop
|
72
|
+
remove_method :swap
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
it 'does not raise NotImplementedError' do
|
77
|
+
expect { subject }.not_to raise_error
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe '#size' do
|
83
|
+
it 'should respond to #size' do
|
84
|
+
expect(Raheui::Store.instance_methods(false)).to include(:size)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe '#push_dup' do
|
89
|
+
it 'should respond to #push_dup' do
|
90
|
+
expect(Raheui::Store.instance_methods(false)).to include(:push_dup)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
if ENV['TRAVIS'] || ENV['COVERAGE']
|
3
|
+
require 'simplecov'
|
4
|
+
|
5
|
+
if ENV['TRAVIS']
|
6
|
+
require 'coveralls'
|
7
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
8
|
+
end
|
9
|
+
|
10
|
+
SimpleCov.start do
|
11
|
+
add_filter '/spec/'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
require 'raheui'
|
16
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
17
|
+
|
18
|
+
RSpec.configure do |config|
|
19
|
+
# These two settings work together to allow you to limit a spec run
|
20
|
+
# to individual examples or groups you care about by tagging them with
|
21
|
+
# `:focus` metadata. When nothing is tagged with `:focus`, all examples
|
22
|
+
# get run.
|
23
|
+
config.filter_run :focus
|
24
|
+
config.run_all_when_everything_filtered = true
|
25
|
+
|
26
|
+
# Many RSpec users commonly either run the entire suite or an individual
|
27
|
+
# file, and it's useful to allow more verbose output when running an
|
28
|
+
# individual spec file.
|
29
|
+
if config.files_to_run.one?
|
30
|
+
# Use the documentation formatter for detailed output,
|
31
|
+
# unless a formatter has already been configured
|
32
|
+
# (e.g. via a command-line flag).
|
33
|
+
config.default_formatter = 'doc'
|
34
|
+
end
|
35
|
+
|
36
|
+
# Print the 10 slowest examples and example groups at the
|
37
|
+
# end of the spec run, to help surface which specs are running
|
38
|
+
# particularly slow.
|
39
|
+
# config.profile_examples = 10
|
40
|
+
|
41
|
+
# Run specs in random order to surface order dependencies. If you find an
|
42
|
+
# order dependency and want to debug it, you can fix the order by providing
|
43
|
+
# the seed, which is printed after each run.
|
44
|
+
# --seed 1234
|
45
|
+
config.order = :random
|
46
|
+
|
47
|
+
# Seed global randomization in this process using the `--seed` CLI option.
|
48
|
+
# Setting this allows you to use `--seed` to deterministically reproduce
|
49
|
+
# test failures related to randomization by passing the same `--seed` value
|
50
|
+
# as the one that triggered the failure.
|
51
|
+
Kernel.srand config.seed
|
52
|
+
|
53
|
+
# rspec-expectations config goes here. You can use an alternate
|
54
|
+
# assertion/expectation library such as wrong or the stdlib/minitest
|
55
|
+
# assertions if you prefer.
|
56
|
+
config.expect_with :rspec do |expectations|
|
57
|
+
# Enable only the newer, non-monkey-patching expect syntax.
|
58
|
+
# For more details, see:
|
59
|
+
# - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
|
60
|
+
expectations.syntax = :expect
|
61
|
+
end
|
62
|
+
|
63
|
+
# rspec-mocks config goes here. You can use an alternate test double
|
64
|
+
# library (such as bogus or mocha) by changing the `mock_with` option here.
|
65
|
+
config.mock_with :rspec do |mocks|
|
66
|
+
# Enable only the newer, non-monkey-patching expect syntax.
|
67
|
+
# For more details, see:
|
68
|
+
# - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
|
69
|
+
mocks.syntax = :expect
|
70
|
+
|
71
|
+
# Prevents you from mocking or stubbing a method that does not exist on
|
72
|
+
# a real object. This is generally recommended.
|
73
|
+
mocks.verify_partial_doubles = true
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# Matches exit code of block with SystemExit.
|
4
|
+
module ExitCodeMatchers
|
5
|
+
RSpec::Matchers.define :exit_with_code do |code|
|
6
|
+
supports_block_expectations
|
7
|
+
actual = nil
|
8
|
+
match do |block|
|
9
|
+
begin
|
10
|
+
block.call
|
11
|
+
rescue SystemExit => e
|
12
|
+
actual = e.status
|
13
|
+
end
|
14
|
+
actual && actual == code
|
15
|
+
end
|
16
|
+
failure_message do
|
17
|
+
"expected block to call exit(#{code}) but exit" +
|
18
|
+
(actual.nil? ? ' not called' : "(#{actual}) was called")
|
19
|
+
end
|
20
|
+
failure_message_when_negated do
|
21
|
+
"expected block not to call exit(#{code})"
|
22
|
+
end
|
23
|
+
description do
|
24
|
+
"expect block to call exit(#{code})"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'fileutils'
|
3
|
+
|
4
|
+
# Util methods for processing file.
|
5
|
+
module FileHelper
|
6
|
+
# Create file with at given path with given content. Ensure parent directories
|
7
|
+
# are exists.
|
8
|
+
#
|
9
|
+
# path - An String path of file.
|
10
|
+
# content - An String or an Array of Strings content of file.
|
11
|
+
#
|
12
|
+
# Returns nothing.
|
13
|
+
def create_file(path, content)
|
14
|
+
file_path = File.expand_path(path)
|
15
|
+
dir_path = File.dirname(file_path)
|
16
|
+
FileUtils.makedirs(dir_path) unless File.exist?(dir_path)
|
17
|
+
write_file(path, content)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Write file content at given path.
|
21
|
+
#
|
22
|
+
# path - An String path of file.
|
23
|
+
# content - An String or an Array of Strings content of file.
|
24
|
+
#
|
25
|
+
# Returns nothing.
|
26
|
+
def write_file(path, content)
|
27
|
+
File.open(path, 'w') do |file|
|
28
|
+
case content
|
29
|
+
when ''
|
30
|
+
# Create empty file.
|
31
|
+
when String
|
32
|
+
file.puts content
|
33
|
+
when Array
|
34
|
+
file.puts content.join("\n")
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
shared_examples 'a store' do
|
5
|
+
describe '#push' do
|
6
|
+
it { is_expected.to respond_to(:push) }
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#pop' do
|
10
|
+
it { is_expected.to respond_to(:pop) }
|
11
|
+
|
12
|
+
context 'with no elements' do
|
13
|
+
it { expect(subject.pop).to be_nil }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe '#push_dup' do
|
18
|
+
context 'with no elements' do
|
19
|
+
it "doesn't push" do
|
20
|
+
subject.push_dup
|
21
|
+
expect(subject.size).to be_zero
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe '#swap' do
|
27
|
+
it { is_expected.to respond_to(:swap) }
|
28
|
+
|
29
|
+
context 'with no elements' do
|
30
|
+
it "doesn't modify store" do
|
31
|
+
subject.swap
|
32
|
+
expect(subject.size).to be_zero
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe '#size' do
|
38
|
+
context 'with no elements' do
|
39
|
+
it { expect(subject.size).to be_zero }
|
40
|
+
|
41
|
+
it 'returns 0 after pop' do
|
42
|
+
subject.pop
|
43
|
+
expect(subject.size).to be_zero
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
metadata
ADDED
@@ -0,0 +1,168 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: raheui
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- ChaYoung You
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-08-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.6'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.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: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rubocop
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.25.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.25.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: simplecov
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.9'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.9'
|
83
|
+
description: Aheui interpreter in Ruby.
|
84
|
+
email:
|
85
|
+
- yousbe@gmail.com
|
86
|
+
executables:
|
87
|
+
- raheui
|
88
|
+
extensions: []
|
89
|
+
extra_rdoc_files: []
|
90
|
+
files:
|
91
|
+
- .gitignore
|
92
|
+
- .rspec
|
93
|
+
- .rubocop.yml
|
94
|
+
- .rubocop_todo.yml
|
95
|
+
- .travis.yml
|
96
|
+
- CHANGELOG.md
|
97
|
+
- Gemfile
|
98
|
+
- LICENSE.txt
|
99
|
+
- README.md
|
100
|
+
- Rakefile
|
101
|
+
- bin/raheui
|
102
|
+
- lib/raheui.rb
|
103
|
+
- lib/raheui/cli.rb
|
104
|
+
- lib/raheui/code.rb
|
105
|
+
- lib/raheui/io.rb
|
106
|
+
- lib/raheui/option.rb
|
107
|
+
- lib/raheui/port.rb
|
108
|
+
- lib/raheui/queue.rb
|
109
|
+
- lib/raheui/runner.rb
|
110
|
+
- lib/raheui/stack.rb
|
111
|
+
- lib/raheui/store.rb
|
112
|
+
- lib/raheui/version.rb
|
113
|
+
- raheui.gemspec
|
114
|
+
- spec/raheui/cli_spec.rb
|
115
|
+
- spec/raheui/code_spec.rb
|
116
|
+
- spec/raheui/io_spec.rb
|
117
|
+
- spec/raheui/option_spec.rb
|
118
|
+
- spec/raheui/port_spec.rb
|
119
|
+
- spec/raheui/queue_spec.rb
|
120
|
+
- spec/raheui/runner_spec.rb
|
121
|
+
- spec/raheui/stack_spec.rb
|
122
|
+
- spec/raheui/store_spec.rb
|
123
|
+
- spec/raheui/version_spec.rb
|
124
|
+
- spec/spec_helper.rb
|
125
|
+
- spec/support/exit_code_matchers.rb
|
126
|
+
- spec/support/file_helper.rb
|
127
|
+
- spec/support/isolated_environment.rb
|
128
|
+
- spec/support/shared_store.rb
|
129
|
+
homepage: ''
|
130
|
+
licenses:
|
131
|
+
- MIT
|
132
|
+
metadata: {}
|
133
|
+
post_install_message:
|
134
|
+
rdoc_options: []
|
135
|
+
require_paths:
|
136
|
+
- lib
|
137
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - ! '>='
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '0'
|
147
|
+
requirements: []
|
148
|
+
rubyforge_project:
|
149
|
+
rubygems_version: 2.2.2
|
150
|
+
signing_key:
|
151
|
+
specification_version: 4
|
152
|
+
summary: Aheui interpreter in Ruby.
|
153
|
+
test_files:
|
154
|
+
- spec/raheui/cli_spec.rb
|
155
|
+
- spec/raheui/code_spec.rb
|
156
|
+
- spec/raheui/io_spec.rb
|
157
|
+
- spec/raheui/option_spec.rb
|
158
|
+
- spec/raheui/port_spec.rb
|
159
|
+
- spec/raheui/queue_spec.rb
|
160
|
+
- spec/raheui/runner_spec.rb
|
161
|
+
- spec/raheui/stack_spec.rb
|
162
|
+
- spec/raheui/store_spec.rb
|
163
|
+
- spec/raheui/version_spec.rb
|
164
|
+
- spec/spec_helper.rb
|
165
|
+
- spec/support/exit_code_matchers.rb
|
166
|
+
- spec/support/file_helper.rb
|
167
|
+
- spec/support/isolated_environment.rb
|
168
|
+
- spec/support/shared_store.rb
|