mygen 0.3.7 → 0.3.8

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: c59ac4f30265312e8806c87e5adcfaf1f3d3c643
4
- data.tar.gz: df9967ccf24e6b25951c056700e817a99777ddc4
3
+ metadata.gz: 6432b083fd71bce775372cf2530512e2a257dd71
4
+ data.tar.gz: c0204638b287a0514430e254937dda0d8872d738
5
5
  SHA512:
6
- metadata.gz: 1a5e629490341c8ce9524b7fea1f2bde82381557f8c53330fe14fc2f0983d2a10446495676383974b53857fd4d849f231ba50ac6beb6fda14475fa4c2fcc88a0
7
- data.tar.gz: 1cb649c7a466c5b276aefadb71628eb30086f9a1298458ddc82a37666c068d280cd13f51dc195f1729faf1e9aa2723c95a1a69aa46664ac77b592b5c05d8d4c7
6
+ metadata.gz: 6b9195641693a510435cb0b1c5de5c412c072ceb3ec955334af3c3c918737140aa9aed0cb36dc4698645bd39cc27132e077375967b6020b2039fb91a727adf56
7
+ data.tar.gz: be0688b2c77a8d9b12cc8ebd5ef746cb7791063ce31b136bc97af120577ea5fc016f75affc1027f051ce56df4ebc2767dbc4cf116d8e2136b10379d9edafc5d4
data/README.md CHANGED
@@ -24,6 +24,11 @@ Or install it yourself as:
24
24
  myg --help
25
25
  ```
26
26
 
27
+
28
+ ## Substitution of filenames
29
+
30
+ Files named with ´´´ __name ´´´ will be renamed to match the attribute ´´´ name ´´´
31
+
27
32
  ## Development
28
33
 
29
34
  After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -2,6 +2,7 @@ require "mygen/version"
2
2
  require "mygen/plugins"
3
3
  require "mygen/plugins/mygen_generator"
4
4
  require "mygen/generator"
5
+ require "mygen/naming"
5
6
  require "erb"
6
7
 
7
8
  module Mygen
@@ -1,5 +1,7 @@
1
+ require 'mygen/naming'
1
2
  module Mygen
2
3
  class Generator
4
+ include Mygen::Naming
3
5
  attr_accessor :name, :dest_dir, :dry_run, :template_source_dir
4
6
 
5
7
  def initialize
@@ -15,12 +17,7 @@ module Mygen
15
17
  end
16
18
 
17
19
  def generator_name
18
- self.class.name.gsub(/::/, '/').
19
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
20
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
21
- tr("-", "_").
22
- split('/').last.
23
- downcase
20
+ snake_case(self.class.name)
24
21
  end
25
22
 
26
23
  def fileutils
@@ -0,0 +1,37 @@
1
+ module Mygen
2
+ module Naming
3
+
4
+ # Camel case name
5
+ def cc_name
6
+ camel_case(@name)
7
+ end
8
+
9
+ def camel_case(str)
10
+ str.gsub(/(-|_)/, '_').split('_').collect(&:capitalize).join
11
+ end
12
+
13
+ # Snake case name
14
+ def s_name
15
+ snake_case(@name)
16
+ end
17
+
18
+ def snake_case(str)
19
+ str.gsub(/::/, '/').
20
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
21
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
22
+ tr("-", "_").
23
+ split('/').last.
24
+ downcase
25
+ end
26
+
27
+ # Dash name, will transform underscores into dash
28
+ # E.g UserDevice will turn into user-device
29
+ def d_name
30
+ dash_case(@name)
31
+ end
32
+
33
+ def dash_case(str)
34
+ snake_case(str).tr('_','-')
35
+ end
36
+ end
37
+ end
@@ -1,3 +1,3 @@
1
1
  module Mygen
2
- VERSION = "0.3.7"
2
+ VERSION = "0.3.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mygen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kristian Rasmussen
@@ -115,6 +115,7 @@ files:
115
115
  - bin/setup
116
116
  - lib/mygen.rb
117
117
  - lib/mygen/generator.rb
118
+ - lib/mygen/naming.rb
118
119
  - lib/mygen/plugins.rb
119
120
  - lib/mygen/plugins/mygen_generator.rb
120
121
  - lib/mygen/version.rb