orenono 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af55e5f715052163f8ce3424d5e28fd1124615ff
4
- data.tar.gz: 97e2440757ef668f979a22bec058c464a1bc82e7
3
+ metadata.gz: 7e48e6407a724809d4b8bd117d6eb8fc06e9bfa3
4
+ data.tar.gz: 3ce7a6805ff09af7476a0cf48c141ba5902b3c97
5
5
  SHA512:
6
- metadata.gz: 8c4555dcdaa4641ee59269842e149b75bd7e87a28c4869b2623f75e66270f5244449dd9a170fabf804b1be823943331601cb401b9a110f60d3e19e976e9e92c1
7
- data.tar.gz: 587fa42b4f3071d8efbbd7117845a5bb861d9fd7d2d3eec9ea22ce3e8d4b3ec16fd58b074cc4b15096dceda4b0ff3c500ac0d45dae811bda352ca06d0a871297
6
+ metadata.gz: 6055105683308a517c76163f4f01503bd510693b88ee9bd878ecd6234102086699ed2d2b1ca48bd6c1e3aac93b92a131853c4853ba1c43c2052b08a5678f2ff9
7
+ data.tar.gz: 02634f14588ea542781fc25773e97bdec67f311ddd3a94f639ce11e535dbc39c0c22192711ca5a9aea30126a02821925d738c89e1bfdfb7dc10182705972b338
data/.rubocop.yml ADDED
@@ -0,0 +1 @@
1
+ inherit_from: rubocop-todo.yml
data/README.md CHANGED
@@ -32,8 +32,9 @@ Or install it yourself as:
32
32
  ~~~bash
33
33
  $ orenono h
34
34
  Commands:
35
- orenono convert # Convert Brainf*ck default syntax to your Orenono...
35
+ orenono convert # Convert Brainf*ck default syntax to your Orenonof...
36
36
  orenono execute # Execute Brainf**k
37
+ orenono generate # Generate Brainf*ck code from ascii code text.
37
38
  orenono help [COMMAND] # Describe available commands or one specific command
38
39
  orenono init # Generate Orenonofile template
39
40
  orenono version # version
@@ -41,7 +42,6 @@ Commands:
41
42
  Options:
42
43
  -h, [--help] # help message.
43
44
  [--version] # version
44
-
45
45
  ~~~
46
46
 
47
47
  ### Generate Orenonofile
@@ -157,6 +157,45 @@ $ orenono e sample.bf
157
157
  Hello, world!$
158
158
  ~~~
159
159
 
160
+ ### Generate Brainf*ck code from ascii code text.
161
+
162
+ * Default syntax case
163
+
164
+ ~~~bash
165
+ $ orenono generate 'Hello, world!' > hello.bf
166
+ $ cat hello.bf
167
+ ++++++++++[>+++++++<-]>++.+++++++++++++++++++++++++++++.+++++++..+++.-------------------------------------------------------------------.------------.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.--------.+++.------.--------.-------------------------------------------------------------------.
168
+ $ orenono e hello.bf
169
+ Hello, world!
170
+ ~~~
171
+
172
+ * Original syntax case.
173
+
174
+ Orenonofile
175
+
176
+ ~~~ruby
177
+ # encoding: utf-8
178
+
179
+ increment "俺について来い!!"
180
+ decrement "頑張れよ!!"
181
+ start_loop "できる!できる!絶対にできるんだから!"
182
+ end_loop "諦めんなよ!"
183
+ next_cursol "もっと熱くなれよ…!!"
184
+ previous_cursol "ぬるま湯なんかつかってんじゃねぇよお前!!"
185
+ display "人の弱点を見つける天才よりも、人を褒める天才がいい"
186
+ read "熱い血燃やしてけよ…!!"
187
+ ~~~
188
+
189
+ * results
190
+
191
+ ~~~bash
192
+ $ orenono g 'Hello, world!' > hello.shuzo
193
+ $ cat hello.shuzo
194
+ 俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来 い!!できる!できる!絶対にできるんだから!もっと熱くなれよ…!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺 について来い!!ぬるま湯なんかつかってんじゃねぇよお前!!頑張れよ!!諦めんなよ!もっと熱くなれよ…!!俺について来い!!俺について来い!!人の弱点を見つける天才よりも、人を褒める天才がいい俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!! 俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来 い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺につ いて来い!!人の弱点を見つける天才よりも、人を褒める天才がいい俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺に ついて来い!!人の弱点を見つける天才よりも、人を褒める天才がいい人の弱点を見つける天才よりも、人を褒める天才がいい俺について来い!!俺について来い!!俺について来い!!人の弱 点を見つける天才よりも、人を褒める天才がいい頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ! !頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張 れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ! !頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張 れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!人の弱点を見つける天才 よりも、人を褒める天才がいい頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!人 の弱点を見つける天才よりも、人を褒める天才がいい俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!! 俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来 い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺につ いて来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!! 俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来 い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺につ いて来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!! 俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来 い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺について来い!!俺につ いて来い!!俺について来い!!俺について来い!!人の弱点を見つける天才よりも、人を褒める天才がいい頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張 れよ!!頑張れよ!!人の弱点を見つける天才よりも、人を褒める天才がいい俺について来い!!俺について来い!!俺について来い!!人の弱点を見つける天才よりも、人を褒める天才がいい 頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!人の弱点を見つける天才よりも、人を褒める天才がいい頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張 れよ!!頑張れよ!!頑張れよ!!頑張れよ!!人の弱点を見つける天才よりも、人を褒める天才がいい頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ !!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑 張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ !!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑 張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ!!頑張れよ !!頑張れよ!!頑張れよ!!人の弱点を見つける天才よりも、人を褒める天才がいい
195
+ $ orenono e hello.shuzo
196
+ Hello, world!
197
+ ~~~
198
+
160
199
  ## Brainfuck Derivation Language Samples
161
200
 
162
201
  ### Sample Define1
@@ -224,6 +263,7 @@ Hello, world!
224
263
  ~~~
225
264
 
226
265
  ## History
266
+ * version 0.0.3 : Add Brainf*ck code generator from ASCII code text.
227
267
  * version 0.0.2 : Add converter(Brainf*ck default syntax to your Orenonofile syntax).
228
268
  * version 0.0.1 : First release.
229
269
 
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
2
  require 'rspec/core'
3
3
  require 'rspec/core/rake_task'
4
- task :default => [:spec]
4
+ task default: [:spec]
5
5
 
6
6
  RSpec::Core::RakeTask.new(:spec) do |spec|
7
7
  spec.pattern = 'spec/**/*_spec.rb'
data/bin/orenono CHANGED
@@ -5,6 +5,7 @@ require 'orenono_core'
5
5
  require 'orenono/version'
6
6
  require 'thor'
7
7
 
8
+ # rubocop:disable LineLength
8
9
  module Orenono
9
10
  # = Orenono CLI
10
11
  class CLI < Thor
@@ -31,6 +32,13 @@ module Orenono
31
32
  exit(0)
32
33
  end
33
34
 
35
+ desc 'generate', 'Generate Brainf*ck code from ascii code text.'
36
+ def generate(ascii_text)
37
+ exit(1) unless ascii_text
38
+ puts Orenono::Core.new.generate_code_from_ascii_text(ascii_text)
39
+ exit(0)
40
+ end
41
+
34
42
  desc 'version', 'version'
35
43
  def version
36
44
  p Orenono::VERSION
@@ -39,3 +47,4 @@ module Orenono
39
47
  end
40
48
 
41
49
  Orenono::CLI.start(ARGV)
50
+ # rubocop:enable LineLength
data/lib/generator.rb ADDED
@@ -0,0 +1,77 @@
1
+ # encoding: utf-8
2
+ require 'orenono_dsl'
3
+ require 'orenono_dsl_model'
4
+
5
+ # rubocop:disable LineLength
6
+ module Orenono
7
+ # Brainf*ck code generator
8
+ class Generator
9
+ attr_reader :tables, :init_codes, :pointer, :config
10
+
11
+ def self.generate(text, config)
12
+ bf = new(text[0], config)
13
+ text.split('').map(&:ord).each_with_object([bf.init_codes]) do |char, codes|
14
+ codes << bf.diff(char)
15
+ codes << bf.output
16
+ end.join
17
+ end
18
+
19
+ def initialize(char, config)
20
+ char_code = char.ord
21
+ repeat = char_code / 10
22
+ rest = char_code % 10
23
+ @tables = []
24
+ @pointer = 0
25
+ @config = config
26
+ @init_codes = ten_increment(config) +
27
+ config.start_loop +
28
+ config.next_cursol +
29
+ increment(repeat) +
30
+ config.previous_cursol +
31
+ config.decrement +
32
+ config.end_loop +
33
+ config.next_cursol +
34
+ increment(rest)
35
+ @tables[@pointer] = char_code
36
+ end
37
+
38
+ def increment(count = 1)
39
+ @tables[@pointer] = 0 unless @tables[@pointer]
40
+ @tables[@pointer] += count
41
+ @config.increment * count
42
+ end
43
+
44
+ def decrement(count = 1)
45
+ @tables[@pointer] -= count
46
+ @config.decrement * count
47
+ end
48
+
49
+ def diff(char_code)
50
+ diff_of_code = char_code - @tables[@pointer]
51
+ return '' if diff_of_code.zero?
52
+ @tables[@pointer] += diff_of_code
53
+ diff_of_code > 0 ? (@config.increment * diff_of_code) : (@config.decrement * diff_of_code.abs)
54
+ end
55
+
56
+ def next_pointer(count = 1)
57
+ @pointer += count
58
+ @config.next_cursol * count
59
+ end
60
+
61
+ def previous_pointer(count = 1)
62
+ @pointer -= count
63
+ @config.previous_cursol * count
64
+ end
65
+
66
+ def output(count = 1)
67
+ @config.display * count
68
+ end
69
+
70
+ private
71
+
72
+ def ten_increment(config)
73
+ config.increment * 10
74
+ end
75
+ end
76
+ end
77
+ # rubocop:enable LineLength
@@ -1,4 +1,4 @@
1
1
  # Orenono
2
2
  module Orenono
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
data/lib/orenono_core.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # encoding: utf-8
2
2
  require 'brain'
3
3
  require 'orenono_dsl'
4
+ require 'generator'
4
5
 
5
6
  module Orenono
6
7
  # Orenono Core
@@ -60,12 +61,19 @@ read ","
60
61
  dsl = read_dsl
61
62
  code = read_code(file)
62
63
  config = dsl.orenono
63
- convert(config, code, config.default_syntaxes, config.syntaxes)
64
+ convert(code, config.default_syntaxes, config.syntaxes)
65
+ end
66
+
67
+ # Generate Brainf*ck code from ascii code text.
68
+ # If you create original syntax in Orenonofile, output syntax is your syntax.
69
+ def generate_code_from_ascii_text(ascii_text)
70
+ config = read_dsl.orenono
71
+ Generator.generate(ascii_text, config)
64
72
  end
65
73
 
66
74
  private
67
75
 
68
- def convert(config, src, from_syntaxes, to_syntaxes)
76
+ def convert(src, from_syntaxes, to_syntaxes)
69
77
  from_syntaxes.each_with_index do |syntax, i|
70
78
  src = src.gsub(syntax, to_syntaxes[i])
71
79
  end
data/rubocop-todo.yml ADDED
@@ -0,0 +1,15 @@
1
+ # This configuration was generated by `rubocop --auto-gen-config`
2
+ # on 2014-09-11 22:13:09 +0900 using RuboCop version 0.21.0.
3
+ # The point is for the user to remove these configuration records
4
+ # one by one as the offenses are removed from the code base.
5
+ # Note that changes in the inspected code, or installation of new
6
+ # versions of RuboCop, may require this file to be generated again.
7
+
8
+ # Offense count: 1
9
+ LineLength:
10
+ Max: 81
11
+
12
+ # Offense count: 1
13
+ # Configuration parameters: CountComments.
14
+ MethodLength:
15
+ Max: 16
@@ -0,0 +1,71 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'generator'
4
+
5
+ # rubocop:disable Tab, UnusedMethodArgument, LineLength
6
+ describe Orenono::Generator do
7
+ context :generate do
8
+ cases = [
9
+ {
10
+ case_no: 1,
11
+ case_title: 'default case',
12
+ config: Orenono::DslModel.new.tap do |e|
13
+ e.increment = '+'
14
+ e.decrement = '-'
15
+ e.start_loop = '['
16
+ e.end_loop = ']'
17
+ e.next_cursol = '>'
18
+ e.previous_cursol = '<'
19
+ e.display = '.'
20
+ e.read = ','
21
+ end,
22
+ text: 'Hello, world!',
23
+ expected: '++++++++++[>+++++++<-]>++.+++++++++++++++++++++++++++++.+++++++..+++.-------------------------------------------------------------------.------------.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.--------.+++.------.--------.-------------------------------------------------------------------.'
24
+ },
25
+ {
26
+ case_no: 2,
27
+ case_title: 'original case',
28
+ config: Orenono::DslModel.new.tap do |e|
29
+ e.increment = 'add'
30
+ e.decrement = 'diff'
31
+ e.start_loop = 'start'
32
+ e.end_loop = 'end'
33
+ e.next_cursol = 'next'
34
+ e.previous_cursol = 'previous'
35
+ e.display = 'display'
36
+ e.read = 'read'
37
+ end,
38
+ text: 'Hello, world!',
39
+ expected: 'addaddaddaddaddaddaddaddaddaddstartnextaddaddaddaddaddaddaddpreviousdiffendnextaddadddisplayaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddadddisplayaddaddaddaddaddaddadddisplaydisplayaddaddadddisplaydiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdisplaydiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdisplayaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddaddadddisplaydiffdiffdiffdiffdiffdiffdiffdiffdisplayaddaddadddisplaydiffdiffdiffdiffdiffdiffdisplaydiffdiffdiffdiffdiffdiffdiffdiffdisplaydiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdiffdisplay'
40
+ }
41
+ ]
42
+
43
+ cases.each do |c|
44
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
45
+ begin
46
+ case_before c
47
+
48
+ # -- given --
49
+ # nothing
50
+
51
+ # -- when --
52
+ actual = Orenono::Generator.generate(c[:text], c[:config])
53
+
54
+ # -- then --
55
+ expect(actual).to eq(c[:expected])
56
+ ensure
57
+ case_after c
58
+ end
59
+ end
60
+
61
+ def case_before(c)
62
+ # implement each case before
63
+ end
64
+
65
+ def case_after(c)
66
+ # implement each case after
67
+ end
68
+ end
69
+ end
70
+ end
71
+ # rubocop:enable Tab, UnusedMethodArgument, LineLength
@@ -1,55 +1,57 @@
1
- # encoding: utf-8
2
- require "spec_helper"
3
- require "orenono_core"
4
- require "orenono_dsl_model"
5
-
6
- describe Orenono::Core do
7
- context :convert do
8
- cases = [
9
- {
10
- case_no: 1,
11
- case_title: "valid case",
12
- config: Orenono::DslModel.new.tap do |e|
13
- e.increment = 'add'
14
- e.decrement = 'diff'
15
- e.start_loop = 'start'
16
- e.end_loop = 'end'
17
- e.next_cursol = 'next'
18
- e.previous_cursol = 'previous'
19
- e.display = 'display'
20
- e.read = 'read'
21
- end,
22
- src: '++--[[]]>><<..,,',
23
- bf_to_your: true,
24
- expected: 'addadddiffdiffstartstartendendnextnextpreviouspreviousdisplaydisplayreadread'
25
- },
26
- ]
27
-
28
- cases.each do |c|
29
- it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
30
- begin
31
- case_before c
32
-
33
- # -- given --
34
- orenono_core = Orenono::Core.new
35
-
36
- # -- when --
37
- actual = orenono_core.send(:convert, c[:config], c[:src], c[:config].default_syntaxes, c[:config].syntaxes)
38
-
39
- # -- then --
40
- expect(actual).to eq(c[:expected])
41
- ensure
42
- case_after c
43
- end
44
- end
45
-
46
- def case_before(c)
47
- # implement each case before
48
- end
49
-
50
- def case_after(c)
51
- # implement each case after
52
- end
53
- end
54
- end
55
- end
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'orenono_core'
4
+ require 'orenono_dsl_model'
5
+
6
+ # rubocop:disable Tab, UnusedMethodArgument, LineLength
7
+ describe Orenono::Core do
8
+ context :convert do
9
+ cases = [
10
+ {
11
+ case_no: 1,
12
+ case_title: 'valid case',
13
+ config: Orenono::DslModel.new.tap do |e|
14
+ e.increment = 'add'
15
+ e.decrement = 'diff'
16
+ e.start_loop = 'start'
17
+ e.end_loop = 'end'
18
+ e.next_cursol = 'next'
19
+ e.previous_cursol = 'previous'
20
+ e.display = 'display'
21
+ e.read = 'read'
22
+ end,
23
+ src: '++--[[]]>><<..,,',
24
+ bf_to_your: true,
25
+ expected: 'addadddiffdiffstartstartendendnextnextpreviouspreviousdisplaydisplayreadread'
26
+ }
27
+ ]
28
+
29
+ cases.each do |c|
30
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
31
+ begin
32
+ case_before c
33
+
34
+ # -- given --
35
+ orenono_core = Orenono::Core.new
36
+
37
+ # -- when --
38
+ actual = orenono_core.send(:convert, c[:src], c[:config].default_syntaxes, c[:config].syntaxes)
39
+
40
+ # -- then --
41
+ expect(actual).to eq(c[:expected])
42
+ ensure
43
+ case_after c
44
+ end
45
+ end
46
+
47
+ def case_before(c)
48
+ # implement each case before
49
+ end
50
+
51
+ def case_after(c)
52
+ # implement each case after
53
+ end
54
+ end
55
+ end
56
+ end
57
+ # rubocop:enable Tab, UnusedMethodArgument, LineLength
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orenono
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
  - tbpgr
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-10 00:00:00.000000000 Z
11
+ date: 2014-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -63,6 +63,7 @@ files:
63
63
  - .coveralls.yml
64
64
  - .gitignore
65
65
  - .rspec
66
+ - .rubocop.yml
66
67
  - .travis.yml
67
68
  - Gemfile
68
69
  - LICENSE.txt
@@ -70,11 +71,13 @@ files:
70
71
  - Rakefile
71
72
  - bin/orenono
72
73
  - lib/brain.rb
74
+ - lib/generator.rb
73
75
  - lib/orenono/version.rb
74
76
  - lib/orenono_core.rb
75
77
  - lib/orenono_dsl.rb
76
78
  - lib/orenono_dsl_model.rb
77
79
  - orenono.gemspec
80
+ - rubocop-todo.yml
78
81
  - samples/default/Orenonofile
79
82
  - samples/default/sample.bf
80
83
  - samples/pattern1/Orenonofile
@@ -86,6 +89,7 @@ files:
86
89
  - samples/pattern4/Orenonofile
87
90
  - samples/pattern4/hello_world.bf
88
91
  - spec/brain_spec.rb
92
+ - spec/generator_spec.rb
89
93
  - spec/orenono_core_spec.rb
90
94
  - spec/spec_helper.rb
91
95
  homepage: https://github.com/tbpgr/orenono
@@ -114,5 +118,6 @@ specification_version: 4
114
118
  summary: New Brainf**k derivation language generator and executor.
115
119
  test_files:
116
120
  - spec/brain_spec.rb
121
+ - spec/generator_spec.rb
117
122
  - spec/orenono_core_spec.rb
118
123
  - spec/spec_helper.rb