framework 0.0.6 → 0.0.7

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: 9853575b2c38340d39dfb5d42acfb30d71fc7c6f
4
- data.tar.gz: c06ea768ca188b3d9b2ee6a5a123781bc29a2745
3
+ metadata.gz: fce607f0a6316cb93d48a18d25184cb8f5df9b4b
4
+ data.tar.gz: 8a1030efe91f69b6f90fd1866a5aaa410f27988e
5
5
  SHA512:
6
- metadata.gz: b7a12555b1301f2f14c79d99bc4675add001f8ce69867dd5d30750785d5f5eb76336d5a44681d2be5050f96437bceaf60b0202417a324921b06eb7094e578302
7
- data.tar.gz: 7b1b5ae31d928b310cdbf2daaa619ff9b4da608df7e0dfbc71b25f66f11d6a64a616d2c0788ef16789f797a1aad1cb8bf7fb4f8c0cb37a97946d3731d5605077
6
+ metadata.gz: 92b4b1044ebd0e8d2ffa824f7cd3b8306594ee1a840e18ae2605d1a408ce5fb6e3ff8b3d4cbcc751e8e08bd939670f3799845bd86e92f937153a20bd2d0ccf60
7
+ data.tar.gz: 2c62e4cff803fba1b76b8051e10bcb744b5656d383229c575a39801556ddb0a8b9c3e5850f30d3bc385c4f00e50f3439bdf028f42b33af29d8f1e6cc59f4cb12
@@ -1,4 +1,7 @@
1
1
  require 'framework/root'
2
+ require 'framework/config'
3
+ require 'action_dispatch/middleware/reloader'
4
+ require 'action_dispatch/middleware/callbacks'
2
5
 
3
6
  module Framework
4
7
  class Application
@@ -194,7 +197,7 @@ module Framework
194
197
 
195
198
  # @return [Hash]
196
199
  def load_application_config
197
- @config = YAML.load_file(root.join(CONFIG_PATH))[env]
200
+ @config = Framework::Config.new(YAML.load_file(root.join(CONFIG_PATH))[env])
198
201
  end
199
202
 
200
203
  # @return [Hash]
@@ -0,0 +1,49 @@
1
+ module Framework
2
+ class Config < Hash
3
+
4
+ # @param hash [Hash]
5
+ def initialize(hash)
6
+ super()
7
+ hash.each_pair { |k, v| self[k] = v }
8
+ end
9
+
10
+ # @param k [Symbol, String]
11
+ def [](k)
12
+ super(k.to_sym)
13
+ end
14
+
15
+ # @param k [Symbol, String]
16
+ # @param v
17
+ def []=(k,v)
18
+ super(k.to_sym, wrap(v))
19
+ end
20
+
21
+ def method_missing(method_name, *args, &block)
22
+ case args.count
23
+ when 0
24
+ self[method_name]
25
+ when 1
26
+ mname = method_name.to_s
27
+
28
+ if mname.end_with?('=')
29
+ self[mname.sub('=', '').to_sym] = *args
30
+ else
31
+ super
32
+ end
33
+ else
34
+ super
35
+ end
36
+ end
37
+
38
+ private
39
+
40
+ def wrap(v)
41
+ case v
42
+ when Hash
43
+ self.class.new(v)
44
+ else
45
+ v
46
+ end
47
+ end
48
+ end
49
+ end
@@ -74,7 +74,6 @@ module Framework
74
74
  <<: *common
75
75
  database: #{db_name}_production
76
76
 
77
- # Custom one. Models located at app/models/second_one path will point to this database by default.
78
77
  second_one:
79
78
  development: &common
80
79
  adapter: postgresql
@@ -1,3 +1,3 @@
1
1
  module Framework
2
- VERSION = '0.0.6'.freeze
2
+ VERSION = '0.0.7'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: framework
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergei Nikolaevich Zinin
@@ -50,6 +50,26 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 3.2.16
53
+ - !ruby/object:Gem::Dependency
54
+ name: actionpack
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '3.2'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 3.2.16
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '3.2'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 3.2.16
53
73
  - !ruby/object:Gem::Dependency
54
74
  name: awesome_print
55
75
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +184,7 @@ files:
164
184
  - lib/framework.rb
165
185
  - lib/framework/application.rb
166
186
  - lib/framework/cli.rb
187
+ - lib/framework/config.rb
167
188
  - lib/framework/db_listener.rb
168
189
  - lib/framework/extensions/active_record/base_extension.rb
169
190
  - lib/framework/generators/application_generator.rb