sublime_sunippetter 0.0.3 → 0.0.4

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.
data/README.md CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  SublimeSunippetter is generate Sublime Text2 simple sunippet from Sunippetfile DSL.
4
4
 
5
- 2013/11/20 ver 0.01 is still simple. Only single line space separating sunippet is supported.
6
-
7
5
  ## Purpose
8
6
 
9
7
  SublimeSunippetter can use following situations.
@@ -36,7 +34,7 @@ First, you create Sunippetfile manually or following command.
36
34
 
37
35
  suni init
38
36
 
39
- Second, you have to edit Sunippetfile.
37
+ Second, you have to edit Sunippetfile manually.
40
38
 
41
39
  ~~~ruby
42
40
  # encoding: utf-8
@@ -51,9 +49,13 @@ scope "source.ruby"
51
49
  add :hoge, :args1, :args2
52
50
  # if no args method
53
51
  add :hige
52
+ # if two args method and do-block
53
+ add :hoge1, :args1, :args2, "block@d"
54
+ # if two args method and brace-block
55
+ add :hoge2, :args1, :args2, "block@b"
54
56
  ~~~
55
57
 
56
- Third, you have to do is execute command suni.
58
+ Third, you have to do is execute command 'suni'.
57
59
 
58
60
  suni
59
61
 
@@ -62,27 +64,55 @@ Result => generate hoge.sublime-snippet, hige.sublime-snippet
62
64
  This Sample Sunppet Contens are ...
63
65
 
64
66
  ~~~xml
65
- <snippet>
66
- <content><![CDATA[
67
- hoge ${1:args1}, ${2:args2}
68
- ]]></content>
69
- <tabTrigger>hoge</tabTrigger>
70
- <scope>source.ruby</scope>
71
- <description>hoge method</description>
72
- </snippet>
67
+ <snippet>
68
+ <content><![CDATA[
69
+ hoge ${1:args1}, ${2:args2}
70
+ ]]></content>
71
+ <tabTrigger>hoge</tabTrigger>
72
+ <scope>source.ruby</scope>
73
+ <description>hoge method</description>
74
+ </snippet>
75
+ ~~~
76
+
77
+ And
78
+
79
+ ~~~xml
80
+ <snippet>
81
+ <content><![CDATA[
82
+ hige
83
+ ]]></content>
84
+ <tabTrigger>hige</tabTrigger>
85
+ <scope>source.ruby</scope>
86
+ <description>hige method</description>
87
+ </snippet>
88
+ ~~~
89
+
90
+ And
91
+
92
+ ~~~xml
93
+ <snippet>
94
+ <content><![CDATA[
95
+ hoge1 ${1:args1}, ${2:args2} do |${9:args}|
96
+ ${0:block}
97
+ end
98
+ ]]></content>
99
+ <tabTrigger>hoge1</tabTrigger>
100
+ <scope>source.ruby</scope>
101
+ <description>hoge1 method</description>
102
+ </snippet>
73
103
  ~~~
74
104
 
75
105
  And
76
106
 
77
107
  ~~~xml
78
- <snippet>
79
- <content><![CDATA[
80
- hige
81
- ]]></content>
82
- <tabTrigger>hige</tabTrigger>
83
- <scope>source.ruby</scope>
84
- <description>hige method</description>
85
- </snippet>
108
+ <snippet>
109
+ <content><![CDATA[
110
+ hoge2 ${1:args1}, ${2:args2} { |${9:args}|${0:block} }
111
+ ]]></content>
112
+ <tabTrigger>hoge2</tabTrigger>
113
+ <scope>source.ruby</scope>
114
+ <description>hoge2 method</description>
115
+ </snippet>
86
116
  ~~~
87
117
 
88
118
  in 'C:/Users/user_name/AppData/Roaming/Sublime Text 2/Packages/User' directory.
@@ -92,6 +122,7 @@ in 'C:/Users/user_name/AppData/Roaming/Sublime Text 2/Packages/User' directory.
92
122
  <img src="./doc_image/sublime_sunippetter.gif" />
93
123
 
94
124
  ## History
125
+ * version 0.0.4 : enable do-block, brace-block generate.
95
126
  * version 0.0.3 : question can use. for ex 'blank?'.
96
127
  * version 0.0.1 : first release.
97
128
 
data/bin/suni CHANGED
@@ -1,29 +1,29 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'sublime_sunippetter'
4
- require "thor"
5
-
6
- module SublimeSunippetter
7
- #= SublimeSunippetter CLI
8
- class CLI < Thor
9
- class_option :help, :type => :boolean, :aliases => '-h', :desc => 'help message.'
10
- class_option :version, :type => :boolean, :desc => 'version'
11
- default_task :execute
12
-
13
- desc "execute", "generate Sublime Text2 snippet"
14
- def execute
15
- SublimeSunippetter::Core.new.generate_sunippets
16
- end
17
-
18
- desc "init", "generate Sunippetdefine"
19
- def init
20
- SublimeSunippetter::Core.new.init
21
- end
22
-
23
- desc "version", "version"
24
- def version
25
- p SublimeSunippetter::VERSION
26
- end
27
- end
28
- end
29
- SublimeSunippetter::CLI.start
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'sublime_sunippetter'
4
+ require 'thor'
5
+
6
+ module SublimeSunippetter
7
+ # = SublimeSunippetter CLI
8
+ class CLI < Thor
9
+ class_option :help, type: :boolean, aliases: '-h', desc: 'help message.'
10
+ class_option :version, type: :boolean, desc: 'version'
11
+ default_task :execute
12
+
13
+ desc 'execute', 'generate Sublime Text2 snippet'
14
+ def execute
15
+ SublimeSunippetter::Core.new.generate_sunippets
16
+ end
17
+
18
+ desc 'init', 'generate Sunippetdefine'
19
+ def init
20
+ SublimeSunippetter::Core.new.init
21
+ end
22
+
23
+ desc 'version', 'version'
24
+ def version
25
+ p SublimeSunippetter::VERSION
26
+ end
27
+ end
28
+ end
29
+ SublimeSunippetter::CLI.start
@@ -1,3 +1,5 @@
1
- module SublimeSunippetter
2
- VERSION = "0.0.3"
3
- end
1
+ # encoding: utf-8
2
+ # SublimeSunippetter
3
+ module SublimeSunippetter
4
+ VERSION = '0.0.4'
5
+ end
@@ -1,130 +1,102 @@
1
- require "sublime_sunippetter/version"
2
- require "erb"
3
-
4
- module SublimeSunippetter
5
- #= SublimeSunippetter Core
6
- class Core
7
- #== Sunippetdefine file name.
8
- DEFINE_FILE = "Sunippetdefine"
9
-
10
- #== Sunippetdefine file template
11
- DEFINE_FILE_TEMPLATE =<<-EOS
12
- # encoding: utf-8
13
-
14
- # set output path. default=current directory
15
- # output_path 'C:/Users/user_name/AppData/Roaming/Sublime Text 2/Packages/User'
16
-
17
- # set sunippet scope. default=source.ruby
18
- # scope "source.ruby"
19
-
20
- # if two args method
21
- # add :hoge, :args1, :args2
22
- # if no args method
23
- # add :hige
24
- EOS
25
-
26
- #== sublime sunippet template
27
- SUNIPPET_TEMPLATE =<<-EOS
28
- <snippet>
29
- <content><![CDATA[
30
- <%= method_name %><%= args_names %>
31
- ]]></content>
32
- <tabTrigger><%= method_name %></tabTrigger>
33
- <scope><%= scope%></scope>
34
- <description><%= method_name %> method</description>
35
- </snippet>
36
- EOS
37
-
38
- #== generate Sunippetdefine to current directory.
39
- def init
40
- File.open("./#{DEFINE_FILE}", "w") {|f|f.puts DEFINE_FILE_TEMPLATE}
41
- end
42
-
43
- #== generate sublime text2 sunippets from Sunippetdefine
44
- def generate_sunippets
45
- sunippet_define = read_sunippetdefine
46
- dsl = Dsl.new
47
- dsl.instance_eval sunippet_define
48
- dsl.target_methods.each do |m|
49
- snippet = get_snippet(m.method_name , get_args_names(m) , dsl._scope)
50
- File.open("#{dsl._output_path}/#{m.method_name.to_s.tr('?', '')}.sublime-snippet", "w") {|f|f.puts snippet}
51
- end
52
- end
53
-
54
- private
55
- def read_sunippetdefine
56
- unless File.exists? "./#{DEFINE_FILE}"
57
- raise SunippetterError.new("you must create #{DEFINE_FILE}. manual or 'suni init' command")
58
- end
59
-
60
- File.open("./#{DEFINE_FILE}") {|f|f.read}
61
- end
62
-
63
- def get_snippet(method_name, args_names, scope)
64
- erb = ERB.new(SUNIPPET_TEMPLATE)
65
- snippet = erb.result(binding)
66
- snippet
67
- end
68
-
69
- def get_args_names(_method)
70
- args = _method.args
71
- args_names = " "
72
- args.each_with_index do |a, i|
73
- args_names << "${#{i + 1}:#{a}}, "
74
- end
75
- args_names.chop!.chop! unless args.empty?
76
- end
77
- end
78
-
79
- #= TargetMethod. this is method information container
80
- class TargetMethod
81
- attr_accessor :method_name, :args
82
-
83
- #== generate sublime text2 sunippets from Sunippetdefine
84
- def initialize(&block)
85
- instance_eval do
86
- block.call(self)
87
- end
88
- end
89
- end
90
-
91
- #= Dsl. this is dsl for Sunippetdefine.
92
- class Dsl
93
- attr_accessor :target_methods, :_scope, :_output_path
94
-
95
- #== init default values
96
- def initialize
97
- @target_methods = []
98
- @_scope = "source.ruby"
99
- @_output_path = "./"
100
- end
101
-
102
- #== add sunippet information
103
- def add(method_name, *args)
104
- return if method_name.nil?
105
- return if method_name.empty?
106
- return if args.each.include?(nil)
107
- return if args.each.include?("")
108
- @target_methods << TargetMethod.new do |t|
109
- t.method_name = method_name
110
- t.args = args
111
- end
112
- end
113
-
114
- #== set sunippet scope
115
- def scope(_scope)
116
- return if _scope.nil?
117
- return if _scope.empty?
118
- @_scope = _scope
119
- end
120
-
121
- #== set sunippet output path
122
- def output_path(_output_path)
123
- return if _output_path.nil?
124
- return if _output_path.empty?
125
- @_output_path = _output_path
126
- end
127
- end
128
-
129
- class SunippetterError < StandardError;end
130
- end
1
+ # encoding: utf-8
2
+ require 'sublime_sunippetter/version'
3
+ require 'erb'
4
+ require 'sublime_sunippetter_dsl'
5
+
6
+ module SublimeSunippetter
7
+ # SublimeSunippetter Core
8
+ class Core
9
+ # Sunippetdefine file name.
10
+ DEFINE_FILE = 'Sunippetdefine'
11
+
12
+ # Sunippetdefine file template
13
+ DEFINE_FILE_TEMPLATE = <<-EOS
14
+ # encoding: utf-8
15
+
16
+ # set output path. default=current directory
17
+ # output_path 'C:/Users/user_name/AppData/Roaming/Sublime Text 2/Packages/User'
18
+
19
+ # set sunippet scope. default=source.ruby
20
+ # scope "source.ruby"
21
+
22
+ # if two args method
23
+ # add :hoge, :args1, :args2
24
+ # if no args method
25
+ # add :hige
26
+ # if two args method and do-block
27
+ # add :hoge1, :args1, :args2, "block@d"
28
+ # if two args method and brace-block
29
+ # add :hoge2, :args1, :args2, "block@b"
30
+ EOS
31
+
32
+ # sublime sunippet template
33
+ SUNIPPET_TEMPLATE = <<-EOS
34
+ <snippet>
35
+ <content><![CDATA[
36
+ <%= method_name %><%= args_names %><%= do_block %><%= brace_block %>
37
+ ]]></content>
38
+ <tabTrigger><%= method_name %></tabTrigger>
39
+ <scope><%= scope%></scope>
40
+ <description><%= method_name %> method</description>
41
+ </snippet>
42
+ EOS
43
+
44
+ # generate Sunippetdefine to current directory.
45
+ def init
46
+ File.open("./#{DEFINE_FILE}", 'w') { |f|f.puts DEFINE_FILE_TEMPLATE }
47
+ end
48
+
49
+ # generate sublime text2 sunippets from Sunippetdefine
50
+ def generate_sunippets
51
+ sunippet_define = read_sunippetdefine
52
+ dsl = Dsl.new
53
+ dsl.instance_eval sunippet_define
54
+ dsl.target_methods.each do |m|
55
+ snippet = get_snippet(
56
+ m.method_name ,
57
+ get_args_names(m) ,
58
+ get_do_block(m).chop,
59
+ get_brace_block(m),
60
+ dsl._scope
61
+ )
62
+ filename = "#{dsl._output_path}/#{m.method_name.to_s.tr('?', '')}.sublime-snippet"
63
+ File.open(filename, 'w:UTF-8') { |f|f.puts snippet }
64
+ end
65
+ end
66
+
67
+ private
68
+ def read_sunippetdefine
69
+ unless File.exists? "./#{DEFINE_FILE}"
70
+ fail SunippetterError, "you must create #{DEFINE_FILE}. manual or 'suni init' command"
71
+ end
72
+ File.read("./#{DEFINE_FILE}")
73
+ end
74
+
75
+ def get_snippet(method_name, args_names, do_block, brace_block, scope)
76
+ ERB.new(SUNIPPET_TEMPLATE).result(binding)
77
+ end
78
+
79
+ def get_args_names(method)
80
+ args = method.args
81
+ args_names = ' '
82
+ args.each_with_index {|a, i|args_names << "${#{i + 1}:#{a}}, "}
83
+ args_names.chop!.chop! unless args.empty?
84
+ end
85
+
86
+ def get_do_block(method)
87
+ return '' unless method.has_do_block
88
+ <<-EOS
89
+ do |${9:args}|
90
+ ${0:block}
91
+ end
92
+ EOS
93
+ end
94
+
95
+ def get_brace_block(method)
96
+ return '' unless method.has_brace_block
97
+ ' { |${9:args}|${0:block} }'
98
+ end
99
+ end
100
+
101
+ class SunippetterError < StandardError; end
102
+ end
@@ -0,0 +1,60 @@
1
+ # encoding: utf-8
2
+ require 'target_method'
3
+
4
+ module SublimeSunippetter
5
+ # Dsl. this is dsl for Sunippetdefine.
6
+ class Dsl
7
+ attr_accessor :target_methods, :_scope, :_output_path
8
+
9
+ # init default values
10
+ def initialize
11
+ @target_methods = []
12
+ @_scope = 'source.ruby'
13
+ @_output_path = './'
14
+ end
15
+
16
+ # add sunippet information
17
+ def add(method_name, *args)
18
+ return if has_error?(method_name, *args)
19
+ has_do_block = args.include?('block@d')
20
+ has_brace_block = args.include?('block@b')
21
+ args = delete_block_args args
22
+ @target_methods << TargetMethod.new do |t|
23
+ t.method_name = method_name
24
+ t.args = args
25
+ t.has_do_block = has_do_block
26
+ t.has_brace_block = has_brace_block
27
+ end
28
+ end
29
+
30
+ # set sunippet scope
31
+ def scope(_scope)
32
+ return if _scope.nil?
33
+ return if _scope.empty?
34
+ @_scope = _scope
35
+ end
36
+
37
+ # set sunippet output path
38
+ def output_path(_output_path)
39
+ return if _output_path.nil?
40
+ return if _output_path.empty?
41
+ @_output_path = _output_path
42
+ end
43
+
44
+ private
45
+
46
+ def has_error?(method_name, *args)
47
+ return true if method_name.nil?
48
+ return true if method_name.empty?
49
+ return true if args.each.include?(nil)
50
+ return true if args.each.include?('')
51
+ false
52
+ end
53
+
54
+ def delete_block_args(args)
55
+ args - ['block@b', 'block@d']
56
+ end
57
+ end
58
+
59
+ class SunippetterError < StandardError; end
60
+ end
@@ -0,0 +1,15 @@
1
+ # encoding: utf-8
2
+
3
+ module SublimeSunippetter
4
+ # TargetMethod. this is method information container
5
+ class TargetMethod
6
+ attr_accessor :method_name, :args, :has_do_block, :has_brace_block
7
+
8
+ # generate sublime text2 sunippets from Sunippetdefine
9
+ def initialize(&block)
10
+ instance_eval do
11
+ block.call(self)
12
+ end
13
+ end
14
+ end
15
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,17 +1,8 @@
1
- # This file was generated by the `rspec --init` command. Conventionally, all
2
- # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
- # Require this file using `require "spec_helper"` to ensure that it is only
4
- # loaded once.
5
- #
6
- # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
- RSpec.configure do |config|
8
- config.treat_symbols_as_metadata_keys_with_true_values = true
9
- config.run_all_when_everything_filtered = true
10
- config.filter_run :focus
11
-
12
- # Run specs in random order to surface order dependencies. If you find an
13
- # order dependency and want to debug it, you can fix the order by providing
14
- # the seed, which is printed after each run.
15
- # --seed 1234
16
- config.order = 'random'
17
- end
1
+ # encoding: utf-8
2
+ require 'simplecov'
3
+ SimpleCov.start
4
+ RSpec.configure do |config|
5
+ config.treat_symbols_as_metadata_keys_with_true_values = true
6
+ config.run_all_when_everything_filtered = true
7
+ config.filter_run :focus
8
+ end
@@ -1,6 +1,7 @@
1
1
  # encoding: utf-8
2
- require_relative "../lib/sublime_sunippetter"
3
- require "spec_helper"
2
+ require_relative '../lib/sublime_sunippetter'
3
+ require 'spec_helper'
4
+ require 'target_method'
4
5
 
5
6
  describe SublimeSunippetter::Dsl do
6
7
  cases_add = [
@@ -15,30 +16,30 @@ describe SublimeSunippetter::Dsl do
15
16
  },
16
17
  {
17
18
  case_no: 2,
18
- method_names:nil,
19
+ method_names: nil,
19
20
  params: [:hoge, :hige, :hage],
20
21
  expecteds: nil,
21
22
  invalid?: true
22
23
  },
23
24
  {
24
25
  case_no: 3,
25
- method_names:"",
26
+ method_names: '',
26
27
  params: [:hoge, :hige, :hage],
27
- expecteds: "",
28
+ expecteds: '',
28
29
  invalid?: true
29
30
  },
30
31
  {
31
32
  case_no: 4,
32
33
  method_names: :hoge,
33
34
  params: [:hoge, nil, :hage],
34
- expecteds: "",
35
+ expecteds: '',
35
36
  invalid?: true
36
37
  },
37
38
  {
38
39
  case_no: 5,
39
40
  method_names: :hoge,
40
- params: [:hoge, "", :hage],
41
- expecteds: "",
41
+ params: [:hoge, '', :hage],
42
+ expecteds: '',
42
43
  invalid?: true
43
44
  },
44
45
  ]
@@ -69,18 +70,18 @@ describe SublimeSunippetter::Dsl do
69
70
  cases_scope = [
70
71
  {
71
72
  case_no: 1,
72
- scope:"source.java",
73
- expected: "source.java"
73
+ scope: 'source.java',
74
+ expected: 'source.java'
74
75
  },
75
76
  {
76
77
  case_no: 2,
77
- scope:nil,
78
- expected: "source.ruby"
78
+ scope: nil,
79
+ expected: 'source.ruby'
79
80
  },
80
81
  {
81
82
  case_no: 3,
82
- scope:"",
83
- expected: "source.ruby"
83
+ scope: '',
84
+ expected: 'source.ruby'
84
85
  },
85
86
  ]
86
87
 
@@ -100,18 +101,18 @@ describe SublimeSunippetter::Dsl do
100
101
  cases_output_path = [
101
102
  {
102
103
  case_no: 1,
103
- output_path:"C:\\",
104
- expected: "C:\\"
104
+ output_path: 'C:\\',
105
+ expected: 'C:\\'
105
106
  },
106
107
  {
107
108
  case_no: 2,
108
- output_path:nil,
109
- expected: "./"
109
+ output_path: nil,
110
+ expected: './'
110
111
  },
111
112
  {
112
113
  case_no: 3,
113
- output_path:"",
114
- expected: "./"
114
+ output_path: '',
115
+ expected: './'
115
116
  },
116
117
  ]
117
118
 
@@ -1,68 +1,71 @@
1
- # encoding: utf-8
2
- require_relative "../lib/sublime_sunippetter"
3
- require "spec_helper"
4
-
5
- describe SublimeSunippetter::Core do
6
- cases_init = [
7
- {
8
- case_no: 1,
9
- expected: SublimeSunippetter::Core::DEFINE_FILE_TEMPLATE
10
- },
11
- ]
12
-
13
- cases_init.each do |c|
14
- it "#init case_no=#{c[:case_no]} generate #{SublimeSunippetter::Core::DEFINE_FILE}" do
15
- # given
16
- sunippet = SublimeSunippetter::Core.new
17
-
18
- # when
19
- sunippet.init
20
-
21
- # then
22
- actual = File.open("#{SublimeSunippetter::Core::DEFINE_FILE}") {|f|f.read}
23
- expect(actual).to eq(c[:expected])
24
- end
25
- end
26
-
27
- GENERATE_SUNIPPETS_CASE =<<-EOS
28
- output_path "#{File.absolute_path('.')}"
29
- scope "source.java"
30
- add :hoge, :args1, :args2
31
- add :hige?
32
- EOS
33
-
34
- cases_generate_sunippets = [
35
- {
36
- case_no: 1,
37
- sunippetdefine: GENERATE_SUNIPPETS_CASE,
38
- output_file_names: ["hoge.sublime-snippet", "hige.sublime-snippet"],
39
- }
40
- ]
41
-
42
- context do
43
- before do
44
- File.open("./#{SublimeSunippetter::Core::DEFINE_FILE}", "w") {|f|f.puts GENERATE_SUNIPPETS_CASE}
45
- end
46
-
47
- cases_generate_sunippets.each do |c|
48
-
49
- it "#generate_sunippets case_no=#{c[:case_no]}" do
50
- # given
51
- sunippet = SublimeSunippetter::Core.new
52
-
53
- # when
54
- sunippet.generate_sunippets
55
-
56
- # then
57
- c[:output_file_names].each do |f|
58
- FileTest.exist?("./#{f}").should be_true
59
- File.delete("./#{f}")
60
- end
61
- end
62
- end
63
- end
64
-
65
- after(:each) do
66
- File.delete("#{SublimeSunippetter::Core::DEFINE_FILE}") if File.exists?("#{SublimeSunippetter::Core::DEFINE_FILE}")
67
- end
68
- end
1
+ # encoding: utf-8
2
+ require_relative '../lib/sublime_sunippetter'
3
+ require 'spec_helper'
4
+
5
+ describe SublimeSunippetter::Core do
6
+ cases_init = [
7
+ {
8
+ case_no: 1,
9
+ expected: SublimeSunippetter::Core::DEFINE_FILE_TEMPLATE
10
+ },
11
+ ]
12
+
13
+ cases_init.each do |c|
14
+ it "#init case_no=#{c[:case_no]} generate #{SublimeSunippetter::Core::DEFINE_FILE}" do
15
+ # given
16
+ sunippet = SublimeSunippetter::Core.new
17
+
18
+ # when
19
+ sunippet.init
20
+
21
+ # then
22
+ actual = File.read("#{SublimeSunippetter::Core::DEFINE_FILE}")
23
+ expect(actual).to eq(c[:expected])
24
+ end
25
+ end
26
+
27
+ GENERATE_SUNIPPETS_CASE = <<-EOS
28
+ output_path "#{File.absolute_path('.')}"
29
+ scope "source.java"
30
+ add :hoge, :args1, :args2
31
+ add :hige?
32
+ add :hoge1, "block@b"
33
+ add :hoge2, "block@d"
34
+ add :hoge3, :args1, :args2, "block@b"
35
+ EOS
36
+
37
+ cases_generate_sunippets = [
38
+ {
39
+ case_no: 1,
40
+ sunippetdefine: GENERATE_SUNIPPETS_CASE,
41
+ output_file_names: ['hoge.sublime-snippet', 'hige.sublime-snippet', 'hoge1.sublime-snippet', 'hoge2.sublime-snippet', 'hoge3.sublime-snippet'],
42
+ }
43
+ ]
44
+
45
+ context do
46
+ before do
47
+ File.open("./#{SublimeSunippetter::Core::DEFINE_FILE}", 'w') { |f|f.puts GENERATE_SUNIPPETS_CASE }
48
+ end
49
+
50
+ cases_generate_sunippets.each do |c|
51
+
52
+ it "#generate_sunippets case_no=#{c[:case_no]}" do
53
+ # given
54
+ sunippet = SublimeSunippetter::Core.new
55
+
56
+ # when
57
+ sunippet.generate_sunippets
58
+
59
+ # then
60
+ c[:output_file_names].each do |f|
61
+ FileTest.exist?("./#{f}").should be_true
62
+ File.delete("./#{f}")
63
+ end
64
+ end
65
+ end
66
+ end
67
+
68
+ after(:each) do
69
+ File.delete("#{SublimeSunippetter::Core::DEFINE_FILE}") if File.exists?("#{SublimeSunippetter::Core::DEFINE_FILE}")
70
+ end
71
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sublime_sunippetter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-16 00:00:00.000000000 Z
12
+ date: 2014-01-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &26357748 !ruby/object:Gem::Requirement
16
+ requirement: &21219336 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.18.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *26357748
24
+ version_requirements: *21219336
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &26357448 !ruby/object:Gem::Requirement
27
+ requirement: &21218892 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.3'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *26357448
35
+ version_requirements: *21218892
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &26357220 !ruby/object:Gem::Requirement
38
+ requirement: &21218652 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *26357220
46
+ version_requirements: *21218652
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &26356896 !ruby/object:Gem::Requirement
49
+ requirement: &21218328 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: 2.14.1
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *26356896
57
+ version_requirements: *21218328
58
58
  description: SublimeSunippetter is generate Sublime Text2 simple sunippet from Sunippetfile
59
59
  DSL.
60
60
  email:
@@ -74,6 +74,8 @@ files:
74
74
  - doc_image/sublime_sunippetter.gif
75
75
  - lib/sublime_sunippetter.rb
76
76
  - lib/sublime_sunippetter/version.rb
77
+ - lib/sublime_sunippetter_dsl.rb
78
+ - lib/target_method.rb
77
79
  - spec/spec_helper.rb
78
80
  - spec/sublime_sunippetter_dsl_spec.rb
79
81
  - spec/sublime_sunippetter_spec.rb