flarg 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
File without changes
@@ -0,0 +1,50 @@
1
+ require 'active_support'
2
+ require 'singleton'
3
+ require 'flarg/version'
4
+
5
+ module Flarg
6
+
7
+ extend ActiveSupport::Concern
8
+
9
+ NAMESPACE = "#{name.downcase}_"
10
+
11
+ module ClassMethods
12
+
13
+ def configure(&block)
14
+ config.tap &block
15
+ end
16
+
17
+ end
18
+
19
+
20
+ def [](key)
21
+ Rails.application.config.send(convert_key(key))
22
+ rescue NoMethodError
23
+ nil
24
+ end
25
+ alias_method :retrieve, :[]
26
+
27
+
28
+ def []=(key,value)
29
+ Rails.application.config.send("#{convert_key(key)}=",value)
30
+ end
31
+ alias_method :store, :[]=
32
+
33
+ private
34
+
35
+ def convert_key(key)
36
+ NAMESPACE + (key.kind_of?(Symbol) ? key.to_s : key)
37
+ end
38
+
39
+
40
+ def method_missing(name,*args)
41
+ if name.to_s =~ /=$/
42
+ store(name.to_s.sub(/=$/,""),args.first)
43
+ else
44
+ retrieve(name)
45
+ end
46
+ end
47
+
48
+ end
49
+
50
+ require 'flarg/railtie' if defined?(Rails)
@@ -0,0 +1,17 @@
1
+ require 'rails/railtie'
2
+ module Flarg
3
+ class Railtie < Rails::Railtie
4
+
5
+ initializer 'flarg.setup_config_class' do |app|
6
+ n = "#{app.class.to_s.split("::").first}Config"
7
+ eval %Q( class ::#{n}
8
+ include Singleton
9
+ include Flarg
10
+ class << self
11
+ alias_method :config, :instance
12
+ end
13
+ end
14
+ )
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,3 @@
1
+ module Flarg
2
+ VERSION = '0.0.1'
3
+ end
File without changes
metadata ADDED
@@ -0,0 +1,148 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: flarg
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Dean Brundage
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-06-11 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: railties
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: guard-rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rake
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rspec
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: A gem that adds quick configuration DSL to rails projects
111
+ email:
112
+ - dean@newrepublicbrewing.com
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - README.md
118
+ - lib/flarg.rb
119
+ - lib/flarg/railtie.rb
120
+ - lib/flarg/version.rb
121
+ - spec/flarg_spec.rb
122
+ homepage: https://github.com/brundage/flarg
123
+ licenses: []
124
+ post_install_message:
125
+ rdoc_options: []
126
+ require_paths:
127
+ - lib
128
+ required_ruby_version: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ! '>='
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ requirements: []
141
+ rubyforge_project: flarg
142
+ rubygems_version: 1.8.24
143
+ signing_key:
144
+ specification_version: 3
145
+ summary: Add quick configuration to rails projects
146
+ test_files:
147
+ - spec/flarg_spec.rb
148
+ has_rdoc: