dslable 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -57,12 +57,12 @@ set ...
57
57
  | desc |set your field description|
58
58
 
59
59
  ### Args DSL
60
- | dsl | mean |
61
- |:----------- |:------------ |
62
- | desc |set your args description |
63
- | klass |set your args data type. you can choose [String, Array, Hash] |
64
- | required |if you want to set required, use this. |
65
- | default_value|if you want to set default value, use this. |
60
+ | dsl | mean |
61
+ |:----------- |:------------ |
62
+ | desc |set your args description |
63
+ | klass |set your args data type. you can choose [String, Array, Hash, :Boolean] |
64
+ | required |if you want to set required, use this. |
65
+ | default_value|if you want to set default value, use this. |
66
66
 
67
67
  ## Installation
68
68
 
@@ -113,7 +113,7 @@ field :field_name1 do |f|
113
113
  f.args :args_name do |a|
114
114
  # set your args description
115
115
  a.desc "args description"
116
- # you can use String, Array and Hash
116
+ # you can use String, Array, Hash and :Boolean
117
117
  a.klass String
118
118
  # if you want not required, comment out following line
119
119
  a.required
@@ -1,3 +1,3 @@
1
- module Dslable
2
- VERSION = "0.0.2"
3
- end
1
+ module Dslable
2
+ VERSION = '0.0.3'
3
+ end
data/lib/dslable_args.rb CHANGED
@@ -1,44 +1,44 @@
1
- # encoding: utf-8
2
-
3
- module Dslable
4
- class Args
5
- attr_accessor :_desc
6
- attr_accessor :_args_name
7
- attr_accessor :_klass
8
- attr_accessor :_required
9
- attr_accessor :_default_value
10
-
11
- def initialize
12
- @_desc = ""
13
- @_required = false
14
- end
15
-
16
- def desc(_desc)
17
- return if _desc.nil?
18
- @_desc = _desc
19
- end
20
-
21
- def args_name(_args_name)
22
- raise InvalidArgsError.new("args_name not allow nil") if _args_name.nil?
23
- raise InvalidArgsError.new("args_name not allow empty") if _args_name.empty?
24
- raise InvalidArgsError.new("args_name allow /^[a-z0-9_]+$/") unless _args_name =~ /^[a-z0-9_]+$/
25
- @_args_name = _args_name
26
- end
27
-
28
- def klass(_klass)
29
- raise InvalidArgsError.new("klass not allow nil") if _klass.nil?
30
- raise InvalidArgsError.new("klass only allow String, Array and Hash") unless [String, Hash, Array].include? (_klass)
31
- @_klass = _klass
32
- end
33
-
34
- def required
35
- @_required = true
36
- end
37
-
38
- def default_value(_default_value)
39
- @_default_value = _default_value
40
- end
41
- end
42
-
43
- class InvalidArgsError < StandardError;end
44
- end
1
+ # encoding: utf-8
2
+
3
+ module Dslable
4
+ class Args
5
+ attr_accessor :_desc
6
+ attr_accessor :_args_name
7
+ attr_accessor :_klass
8
+ attr_accessor :_required
9
+ attr_accessor :_default_value
10
+
11
+ def initialize
12
+ @_desc = ''
13
+ @_required = false
14
+ end
15
+
16
+ def desc(_desc)
17
+ return if _desc.nil?
18
+ @_desc = _desc
19
+ end
20
+
21
+ def args_name(_args_name)
22
+ fail InvalidArgsError.new('args_name not allow nil') if _args_name.nil?
23
+ fail InvalidArgsError.new('args_name not allow empty') if _args_name.empty?
24
+ fail InvalidArgsError.new('args_name allow /^[a-z0-9_]+$/') unless _args_name =~ /^[a-z0-9_]+$/
25
+ @_args_name = _args_name
26
+ end
27
+
28
+ def klass(_klass)
29
+ fail InvalidArgsError.new('klass not allow nil') if _klass.nil?
30
+ fail InvalidArgsError.new('klass only allow String, Array, Hash and :Boolean(true or false)') unless [String, Hash, Array, :Boolean].include? (_klass)
31
+ @_klass = _klass
32
+ end
33
+
34
+ def required
35
+ @_required = true
36
+ end
37
+
38
+ def default_value(_default_value)
39
+ @_default_value = _default_value
40
+ end
41
+ end
42
+
43
+ class InvalidArgsError < StandardError; end
44
+ end
data/lib/dslable_core.rb CHANGED
@@ -1,81 +1,81 @@
1
- require "dslable/version"
2
- require "dslable_field"
3
- require "dslable_args"
4
- require "dslable_dsl"
5
- require "generators/gem_template"
6
- require "generators/workflow"
7
- require "generators/product_codes/cli"
8
- require "generators/product_codes/core"
9
- require "generators/product_codes/dsl"
10
- require "generators/product_codes/dsl_model"
11
- require "generators/rspec/spec_template"
12
- require "generators/rspec/specs"
13
- require "generators/settings/gemfile"
14
-
15
- module Dslable
16
- class Core
17
- DSLDEFINE_FILE = "Dsldefine"
18
-
19
- DSLDEFINE_TEMPLATE =<<-EOS
20
- # encoding: utf-8
21
-
22
- # set your gem name. this is use in rb-filename and class-name
23
- gem_name "TODO: set your gem_name"
24
-
25
- # set your bin name
26
- bin_name "TODO: set your bin_name"
27
-
28
- # set your dsl filed
29
- field :field_name1 do |f|
30
- # set your field description
31
- f.desc "field1 description"
32
- f.args :args_name do |a|
33
- # set your args description
34
- a.desc "args description"
35
- # you can use String, Array and Hash
36
- a.klass String
37
- # if you want not required, comment out following line
38
- a.required
39
- # if you comment out following line, default => nil
40
- a.default_value "args_value2"
41
- end
42
- end
43
-
44
- # field :field_name2 do |f|
45
- # f.desc "field2 description"
46
- # f.args :args_name do |a|
47
- # a.desc "args description"
48
- # a.klass String
49
- # a.required
50
- # a.default_value "args_value2"
51
- # end
52
- # end
53
- EOS
54
-
55
- def init
56
- File.open(DSLDEFINE_FILE, "w") {|f|f.puts DSLDEFINE_TEMPLATE}
57
- end
58
-
59
- def generate
60
- src = read_dsl_define
61
- # DSLからパラメータの取得
62
- dsl = Dslable::Dsl.new
63
- dsl.instance_eval src
64
- Dslable::Generators::GemTemplate.new(dsl).generate
65
- Dslable::Generators::Settings::Gemfile.new(dsl).generate
66
- Dslable::Generators::Workflow.new(dsl).generate
67
- Dslable::Generators::ProductCodes::Core.new(dsl).generate
68
- Dslable::Generators::ProductCodes::Dsl.new(dsl).generate
69
- Dslable::Generators::ProductCodes::DslModel.new(dsl).generate
70
- Dslable::Generators::ProductCodes::CLI.new(dsl).generate
71
- Dslable::Generators::RSpec::SpecTemplate.new(dsl).generate
72
- Dslable::Generators::RSpec::Specs.new(dsl).generate
73
- end
74
-
75
- private
76
- def read_dsl_define
77
- File.open(DSLDEFINE_FILE) {|f|f.read}
78
- end
79
- end
80
-
81
- end
1
+ require 'dslable/version'
2
+ require 'dslable_field'
3
+ require 'dslable_args'
4
+ require 'dslable_dsl'
5
+ require 'generators/gem_template'
6
+ require 'generators/workflow'
7
+ require 'generators/product_codes/cli'
8
+ require 'generators/product_codes/core'
9
+ require 'generators/product_codes/dsl'
10
+ require 'generators/product_codes/dsl_model'
11
+ require 'generators/rspec/spec_template'
12
+ require 'generators/rspec/specs'
13
+ require 'generators/settings/gemfile'
14
+
15
+ module Dslable
16
+ class Core
17
+ DSLDEFINE_FILE = 'Dsldefine'
18
+
19
+ DSLDEFINE_TEMPLATE = <<-EOS
20
+ # encoding: utf-8
21
+
22
+ # set your gem name. this is use in rb-filename and class-name
23
+ gem_name "TODO: set your gem_name"
24
+
25
+ # set your bin name
26
+ bin_name "TODO: set your bin_name"
27
+
28
+ # set your dsl filed
29
+ field :field_name1 do |f|
30
+ # set your field description
31
+ f.desc "field1 description"
32
+ f.args :args_name do |a|
33
+ # set your args description
34
+ a.desc "args description"
35
+ # you can use String, Array, Hash and :Boolean
36
+ a.klass String
37
+ # if you want not required, comment out following line
38
+ a.required
39
+ # if you comment out following line, default => nil
40
+ a.default_value "args_value2"
41
+ end
42
+ end
43
+
44
+ # field :field_name2 do |f|
45
+ # f.desc "field2 description"
46
+ # f.args :args_name do |a|
47
+ # a.desc "args description"
48
+ # a.klass String
49
+ # a.required
50
+ # a.default_value "args_value2"
51
+ # end
52
+ # end
53
+ EOS
54
+
55
+ def init
56
+ File.open(DSLDEFINE_FILE, 'w') { |f|f.puts DSLDEFINE_TEMPLATE }
57
+ end
58
+
59
+ def generate
60
+ src = read_dsl_define
61
+ # DSLからパラメータの取得
62
+ dsl = Dslable::Dsl.new
63
+ dsl.instance_eval src
64
+ Dslable::Generators::GemTemplate.new(dsl).generate
65
+ Dslable::Generators::Settings::Gemfile.new(dsl).generate
66
+ Dslable::Generators::Workflow.new(dsl).generate
67
+ Dslable::Generators::ProductCodes::Core.new(dsl).generate
68
+ Dslable::Generators::ProductCodes::Dsl.new(dsl).generate
69
+ Dslable::Generators::ProductCodes::DslModel.new(dsl).generate
70
+ Dslable::Generators::ProductCodes::CLI.new(dsl).generate
71
+ Dslable::Generators::RSpec::SpecTemplate.new(dsl).generate
72
+ Dslable::Generators::RSpec::Specs.new(dsl).generate
73
+ end
74
+
75
+ private
76
+ def read_dsl_define
77
+ File.open(DSLDEFINE_FILE) { |f|f.read }
78
+ end
79
+ end
80
+
81
+ end
data/lib/dslable_dsl.rb CHANGED
@@ -1,50 +1,50 @@
1
- # encoding: utf-8
2
- require 'active_support/inflector'
3
-
4
- module Dslable
5
- class Dsl
6
- attr_accessor :_gem_name
7
- attr_accessor :_gem_desc
8
- attr_accessor :_bin_name
9
- attr_accessor :fields
10
-
11
- def initialize
12
- @fields = []
13
- end
14
-
15
- def gem_name(_gem_name)
16
- raise InvalidDslError.new("gem_name not allow nil") if _gem_name.nil?
17
- raise InvalidDslError.new("gem_name not allow empty") if _gem_name.empty?
18
- raise InvalidDslError.new("gem_name allow /^[a-z0-9_]+$/") unless _gem_name =~ /^[a-z0-9_]+$/
19
- @_gem_name = _gem_name
20
- end
21
-
22
- def gem_desc(_gem_desc)
23
- raise InvalidDslError.new("gem_desc not allow nil") if _gem_desc.nil?
24
- raise InvalidDslError.new("gem_desc not allow empty") if _gem_desc.empty?
25
- @_gem_desc = _gem_desc
26
- end
27
-
28
- def bin_name(_bin_name)
29
- raise InvalidDslError.new("bin_name not allow nil") if _bin_name.nil?
30
- raise InvalidDslError.new("bin_name not allow empty") if _bin_name.empty?
31
- raise InvalidDslError.new("bin_name allow /^[a-z0-9_]+$/") unless _bin_name =~ /^[a-z0-9_]+$/
32
- @_bin_name = _bin_name
33
- end
34
-
35
- def field(_field_name)
36
- raise InvalidDslError.new("field name not allow nil") if _field_name.nil?
37
- raise InvalidDslError.new("field name not allow empty") if _field_name.empty?
38
- _field = Field.new
39
- _field.field_name _field_name
40
- yield _field
41
- @fields << _field
42
- end
43
-
44
- def camelized_gem_name
45
- _gem_name.camelize
46
- end
47
- end
48
-
49
- class InvalidDslError < StandardError;end
50
- end
1
+ # encoding: utf-8
2
+ require 'active_support/inflector'
3
+
4
+ module Dslable
5
+ class Dsl
6
+ attr_accessor :_gem_name
7
+ attr_accessor :_gem_desc
8
+ attr_accessor :_bin_name
9
+ attr_accessor :fields
10
+
11
+ def initialize
12
+ @fields = []
13
+ end
14
+
15
+ def gem_name(_gem_name)
16
+ fail InvalidDslError.new('gem_name not allow nil') if _gem_name.nil?
17
+ fail InvalidDslError.new('gem_name not allow empty') if _gem_name.empty?
18
+ fail InvalidDslError.new('gem_name allow /^[a-z0-9_]+$/') unless _gem_name =~ /^[a-z0-9_]+$/
19
+ @_gem_name = _gem_name
20
+ end
21
+
22
+ def gem_desc(_gem_desc)
23
+ fail InvalidDslError.new('gem_desc not allow nil') if _gem_desc.nil?
24
+ fail InvalidDslError.new('gem_desc not allow empty') if _gem_desc.empty?
25
+ @_gem_desc = _gem_desc
26
+ end
27
+
28
+ def bin_name(_bin_name)
29
+ fail InvalidDslError.new('bin_name not allow nil') if _bin_name.nil?
30
+ fail InvalidDslError.new('bin_name not allow empty') if _bin_name.empty?
31
+ fail InvalidDslError.new('bin_name allow /^[a-z0-9_]+$/') unless _bin_name =~ /^[a-z0-9_]+$/
32
+ @_bin_name = _bin_name
33
+ end
34
+
35
+ def field(_field_name)
36
+ fail InvalidDslError.new('field name not allow nil') if _field_name.nil?
37
+ fail InvalidDslError.new('field name not allow empty') if _field_name.empty?
38
+ _field = Field.new
39
+ _field.field_name _field_name
40
+ yield _field
41
+ @fields << _field
42
+ end
43
+
44
+ def camelized_gem_name
45
+ _gem_name.camelize
46
+ end
47
+ end
48
+
49
+ class InvalidDslError < StandardError; end
50
+ end
data/lib/dslable_field.rb CHANGED
@@ -1,36 +1,36 @@
1
- # encoding: utf-8
2
- require "dslable_args"
3
-
4
- module Dslable
5
- class Field
6
- attr_accessor :_field_name
7
- attr_accessor :_desc
8
- attr_accessor :_args
9
-
10
- def initialize
11
- @_desc = ""
12
- end
13
-
14
- def field_name(_name)
15
- return if _name.nil?
16
- @_field_name = _name
17
- end
18
-
19
- def desc(_desc)
20
- return if _desc.nil?
21
- @_desc = _desc
22
- end
23
-
24
- def args(args_name)
25
- raise InvalidFieldError.new("args_name not allow nil") if args_name.nil?
26
- raise InvalidFieldError.new("args_name not allow empty") if args_name.empty?
27
- raise InvalidFieldError.new("args_name allow /^[a-z0-9_]+$/. your input is #{args_name}") unless args_name =~ /^[a-z0-9_]+$/
28
- dslable_args = Dslable::Args.new
29
- dslable_args._args_name = args_name
30
- yield dslable_args
31
- @_args = dslable_args
32
- end
33
- end
34
-
35
- class InvalidFieldError < StandardError;end
36
- end
1
+ # encoding: utf-8
2
+ require 'dslable_args'
3
+
4
+ module Dslable
5
+ class Field
6
+ attr_accessor :_field_name
7
+ attr_accessor :_desc
8
+ attr_accessor :_args
9
+
10
+ def initialize
11
+ @_desc = ''
12
+ end
13
+
14
+ def field_name(_name)
15
+ return if _name.nil?
16
+ @_field_name = _name
17
+ end
18
+
19
+ def desc(_desc)
20
+ return if _desc.nil?
21
+ @_desc = _desc
22
+ end
23
+
24
+ def args(args_name)
25
+ fail InvalidFieldError.new('args_name not allow nil') if args_name.nil?
26
+ fail InvalidFieldError.new('args_name not allow empty') if args_name.empty?
27
+ fail InvalidFieldError.new("args_name allow /^[a-z0-9_]+$/. your input is #{args_name}") unless args_name =~ /^[a-z0-9_]+$/
28
+ dslable_args = Dslable::Args.new
29
+ dslable_args._args_name = args_name
30
+ yield dslable_args
31
+ @_args = dslable_args
32
+ end
33
+ end
34
+
35
+ class InvalidFieldError < StandardError; end
36
+ end