aina 0.3.0 → 0.3.1

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: 1f74db6cccb4e55a0dcc50e35ba247f9fc4e334d
4
- data.tar.gz: abb397bd128d8c751e025497e7e58e0786f38e0d
3
+ metadata.gz: db21e4343a920a1d5951e3d6f078818626c4cc99
4
+ data.tar.gz: bab1e169e9148830547d0808106d344299fe78c9
5
5
  SHA512:
6
- metadata.gz: 8a49993a6a3f8b3d8f90b4f7d1f8b2424ccf6c4856f4526ddc826f51ed02dcf72f8a19d175a607f76d9b250d80e3f9e37fa11cf6fa0ab20654eaba33154d9d7e
7
- data.tar.gz: 5b3f44b1c3f998457219f1f8a92c7c1b45e8fac61f638d006f751f65da8155a42f067ebd9adc405cf44e465cd138d070b8d4529a33ff4cd6278094e161003565
6
+ metadata.gz: 75cb5a61346befb320b56659ca3a0283ba8fb87ec19462a3ccee9f55729cd9039ac6fcfe2ba94a2a16b90d3cdac2f9c35519dd1ea93c5fba9d0d15ee3d6fcca3
7
+ data.tar.gz: f3ac885478fbf93a3ff07344b5c6f52d03b3a2ab553ef6e9673935fe80df39d37f98307008507a1a7679bcf9f4ac4d22b7c029bfa3324e602e706abf9407de7e
@@ -1,62 +1,62 @@
1
1
  module Generable
2
- # List of generable types
3
- def self.generable_types
4
- g = Array.new
5
- Dir.glob(File.dirname(__FILE__) + "/generable/types/*.rb").each do |f|
6
- g << f.split('/').last.split('.rb').join()
7
- end
8
- g
9
- end
10
-
11
- def self.class_name_for(type)
12
- "Generable::#{type.camelcase}"
13
- end
14
-
15
- # Is generable?
16
- def self.accepts?(type)
17
- generable_types.include?(type)
18
- end
19
-
20
- # Does type need to be created in a directory?
21
- # Then, in type use:
22
- # dir 'my-directory'
23
- def dir(directory)
24
- @dir = directory
25
- end
26
-
27
- def get_dir
28
- @dir
29
- end
30
-
31
- # Does type use a template?
32
- # Then, in type use:
33
- # template 'my-template.php'
34
- def template(template)
35
- @template = "#{Aina::TEMPLATES_DIR}/#{template}" if template
36
- end
37
-
38
- def get_template
39
- @template
40
- end
41
-
42
- # Does type template need custom replacements?
43
- # Then, in type use:
44
- # replacements %w({{replace_this}} {{and_this_too}})
45
- def replacements(*replacements)
46
- @replacements = %w(name aina_version)
47
- @replacements += replacements.flatten if replacements
48
- @replacements = @replacements.map { |r| "{{#{r}}}" }
49
- end
50
-
51
- def get_replacements
52
- @replacements
53
- end
54
-
55
- def after_generate(*callbacks)
56
- @after_generate = callbacks
57
- end
58
-
59
- def get_after_generate
60
- @after_generate
61
- end
62
- end
2
+ # List of generable types
3
+ def self.generable_types
4
+ g = Array.new
5
+ Dir.glob(File.dirname(__FILE__) + "/generable/types/*.rb").each do |f|
6
+ g << f.split('/').last.split('.rb').join()
7
+ end
8
+ g
9
+ end
10
+
11
+ def self.class_name_for(type)
12
+ "Generable::#{type.camelcase}"
13
+ end
14
+
15
+ # Is generable?
16
+ def self.accepts?(type)
17
+ generable_types.include?(type)
18
+ end
19
+
20
+ # Does type need to be created in a directory?
21
+ # Then, in type use:
22
+ # dir 'my-directory'
23
+ def dir(directory)
24
+ @dir = directory
25
+ end
26
+
27
+ def get_dir
28
+ @dir
29
+ end
30
+
31
+ # Does type use a template?
32
+ # Then, in type use:
33
+ # template 'my-template.php'
34
+ def template(template)
35
+ @template = "#{Aina::TEMPLATES_DIR}/#{template}" if template
36
+ end
37
+
38
+ def get_template
39
+ @template
40
+ end
41
+
42
+ # Does type template need custom replacements?
43
+ # Then, in type use:
44
+ # replacements %w({{replace_this}} {{and_this_too}})
45
+ def replacements(*replacements)
46
+ @replacements = %w(name aina_version)
47
+ @replacements += replacements.flatten if replacements
48
+ @replacements = @replacements.map { |r| "{{#{r}}}" }
49
+ end
50
+
51
+ def get_replacements
52
+ @replacements
53
+ end
54
+
55
+ def after_generate(*callbacks)
56
+ @after_generate = callbacks
57
+ end
58
+
59
+ def get_after_generate
60
+ @after_generate
61
+ end
62
+ end
@@ -1,72 +1,88 @@
1
1
  # Generable class
2
2
  class Generable::Base
3
- extend Generable
4
- attr_reader :name, :template, :file, :aina_version, :supports
3
+ extend Generable
4
+ attr_reader :name, :template, :file, :aina_version, :supports
5
5
 
6
- def initialize(name, options=nil)
7
- @name = name
8
- @options = options
9
- @aina_version = Aina::VERSION
10
- @template = self.template
11
- @dir = self.dir
12
- @file = generate_file_name
6
+ def initialize(name, options=nil)
7
+ @name = format_name(name)
8
+ @options = options
9
+ @aina_version = Aina::VERSION
10
+ @template = self.template
11
+ @dir = self.dir
12
+ @file = generate_file_name
13
13
 
14
- set_custom_vars
15
- end
16
-
17
- def set_custom_vars
18
- # Nothing here
19
- # This can be used in types to parse required instance variables
20
- end
14
+ set_custom_vars
15
+ end
21
16
 
22
- def dir
23
- self.class.get_dir
24
- end
17
+ def display_name
18
+ name
19
+ .split('_')
20
+ .each {|w| w.capitalize! }
21
+ .join(' ')
22
+ end
25
23
 
26
- def template
27
- self.class.get_template
28
- end
24
+ def name
25
+ @name.split(' ').join('_').downcase
26
+ end
29
27
 
30
- def replacements
31
- self.class.get_replacements
32
- end
28
+ def set_custom_vars
29
+ # Nothing here
30
+ # This can be used in types to parse required instance variables
31
+ end
33
32
 
34
- def generate
35
- text = File.read(@template)
36
- replacements.each do |replace|
37
- attribute = replace.gsub(/[{}]/, '')
38
- @output = text.gsub!(/#{replace}/, self.send(attribute))
39
- end
40
- File.open(@file, "w") {|file| file.puts @output}
33
+ def dir
34
+ self.class.get_dir
35
+ end
41
36
 
42
- after_generate
43
- end
37
+ def template
38
+ self.class.get_template
39
+ end
44
40
 
45
- def after_generate
46
- if self.class.get_after_generate
47
- self.class.get_after_generate.each do |callback|
48
- self.send(callback)
49
- end
50
- end
51
- end
41
+ def replacements
42
+ self.class.get_replacements
43
+ end
52
44
 
53
- def destroy
54
- if File.exists?(@file)
55
- File.delete(@file)
56
- else
57
- raise "No #{self.class} with name #{@name}"
58
- end
59
- end
45
+ def generate
46
+ text = File.read(@template)
47
+ replacements.each do |replace|
48
+ attribute = replace.gsub(/[{}]/, '')
49
+ @output = text.gsub!(/#{replace}/, self.send(attribute))
50
+ end
51
+ File.open(@file, "w") {|file| file.puts @output}
60
52
 
61
- private
62
- def generate_file_name
63
- unless @dir.nil?
64
- unless Dir.exists?(Dir.pwd + '/' + @dir)
65
- Dir.mkdir(Dir.pwd + '/' + @dir)
66
- end
67
- Dir.pwd + "/#{@dir}/#{@name}.php"
68
- else
69
- Dir.pwd + "/#{@name}.php"
70
- end
71
- end
72
- end
53
+ after_generate
54
+ end
55
+
56
+ def after_generate
57
+ if self.class.get_after_generate
58
+ self.class.get_after_generate.each do |callback|
59
+ self.send(callback)
60
+ end
61
+ end
62
+ end
63
+
64
+ def destroy
65
+ if File.exists?(@file)
66
+ File.delete(@file)
67
+ else
68
+ raise "No #{self.class} with name #{@name}"
69
+ end
70
+ end
71
+
72
+ private
73
+
74
+ def format_name(string)
75
+ string.split(' ').join('_').downcase
76
+ end
77
+
78
+ def generate_file_name
79
+ unless @dir.nil?
80
+ unless Dir.exists?(Dir.pwd + '/' + @dir)
81
+ Dir.mkdir(Dir.pwd + '/' + @dir)
82
+ end
83
+ Dir.pwd + "/#{@dir}/#{@name}.php"
84
+ else
85
+ Dir.pwd + "/#{@name}.php"
86
+ end
87
+ end
88
+ end
@@ -1,49 +1,49 @@
1
1
  class PostType < Generable::Base
2
- attr_reader :name_capitalize, :capability, :supports
3
-
4
- DEFAULT_SUPPORT = 'title,editor,excerpt,thumbnail'
5
- DEFAULT_CAPABILITY = 'post'
6
-
7
- template 'post_type.php'
8
- dir 'post-types'
9
- replacements %w(name_capitalize capability supports)
10
-
11
- after_generate :install_aina_framework?, :include_post_type
12
-
13
- def set_custom_vars
14
- @name_capitalize = self.name.capitalize
15
- if @options
16
- @supports = get_supports
17
- @capability = get_capability
18
- end
19
- end
20
-
21
- def get_supports
22
- s = @options[:s] ? @options[:s] : DEFAULT_SUPPORT
23
- s = s.split(',')
24
-
25
- supports = Array.new
26
- s.each do |item|
27
- supports << "'#{item}'"
28
- end
29
- supports.join(',')
30
- end
31
-
32
- def get_capability
33
- @options[:c] ? @options[:c] : DEFAULT_CAPABILITY
34
- end
35
-
36
- protected
37
- def install_aina_framework?
38
- if @options and @options[:i]
39
- Aina.install
40
- end
41
- end
42
-
43
- def include_post_type
44
- unless functions_php_exists?
45
- create_empty_functions_php
46
- end
47
- File.open(functions_php, "a+") {|file| file.puts "\n/* Include #{self.name} */\nrequire_once '#{dir}/#{self.name}.php';\n"}
48
- end
49
- end
2
+ attr_reader :name_capitalize, :capability, :supports
3
+
4
+ DEFAULT_SUPPORT = 'title,editor,excerpt,thumbnail'
5
+ DEFAULT_CAPABILITY = 'post'
6
+
7
+ template 'post_type.php'
8
+ dir 'post-types'
9
+ replacements %w(name_capitalize capability supports)
10
+
11
+ after_generate :install_aina_framework?, :include_post_type
12
+
13
+ def set_custom_vars
14
+ @name_capitalize = display_name
15
+ if @options
16
+ @supports = get_supports
17
+ @capability = get_capability
18
+ end
19
+ end
20
+
21
+ def get_supports
22
+ s = @options[:s] ? @options[:s] : DEFAULT_SUPPORT
23
+ s = s.split(',')
24
+
25
+ supports = Array.new
26
+ s.each do |item|
27
+ supports << "'#{item}'"
28
+ end
29
+ supports.join(',')
30
+ end
31
+
32
+ def get_capability
33
+ @options[:c] ? @options[:c] : DEFAULT_CAPABILITY
34
+ end
35
+
36
+ protected
37
+ def install_aina_framework?
38
+ if @options and @options[:i]
39
+ Aina.install
40
+ end
41
+ end
42
+
43
+ def include_post_type
44
+ unless functions_php_exists?
45
+ create_empty_functions_php
46
+ end
47
+ File.open(functions_php, "a+") {|file| file.puts "\n/* Include #{self.name} */\nrequire_once '#{dir}/#{self.name}.php';\n"}
48
+ end
49
+ end
data/lib/aina/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Aina
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aina
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carles Jove i Buxeda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-26 00:00:00.000000000 Z
11
+ date: 2015-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rdoc
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: aruba
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
@@ -75,47 +75,47 @@ extra_rdoc_files:
75
75
  - README.rdoc
76
76
  - aina.rdoc
77
77
  files:
78
+ - README.rdoc
79
+ - aina.rdoc
78
80
  - bin/aina
81
+ - lib/aina.rb
79
82
  - lib/aina/addable.rb
80
83
  - lib/aina/generable.rb
84
+ - lib/aina/generable/base.rb
85
+ - lib/aina/generable/types/post_type.rb
81
86
  - lib/aina/globals.rb
82
87
  - lib/aina/support.rb
83
88
  - lib/aina/version.rb
84
- - lib/aina/generable/base.rb
85
- - lib/aina/generable/types/post_type.rb
86
89
  - templates/add.php
87
90
  - templates/aina_framework.php
88
91
  - templates/post_type.php
89
- - lib/aina.rb
90
- - README.rdoc
91
- - aina.rdoc
92
92
  homepage: http://joanielena.cat
93
93
  licenses: []
94
94
  metadata: {}
95
95
  post_install_message:
96
96
  rdoc_options:
97
- - --title
97
+ - "--title"
98
98
  - aina
99
- - --main
99
+ - "--main"
100
100
  - README.rdoc
101
- - -ri
101
+ - "-ri"
102
102
  require_paths:
103
103
  - lib
104
104
  - lib
105
105
  - templates
106
106
  required_ruby_version: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - '>='
113
+ - - ">="
114
114
  - !ruby/object:Gem::Version
115
115
  version: '0'
116
116
  requirements: []
117
117
  rubyforge_project:
118
- rubygems_version: 2.0.3
118
+ rubygems_version: 2.2.2
119
119
  signing_key:
120
120
  specification_version: 4
121
121
  summary: Code generation for WordPress