dslable 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.
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