mystique 0.5.2 → 0.5.3

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: 962f1c55063f1f6290c886c5745b27fe1e050dd0
4
- data.tar.gz: 4ad5b6fb40671f1e6dd48c98e303be69c98a6235
3
+ metadata.gz: a9ca67e6011ca818f15bc34f295119deb7529ae8
4
+ data.tar.gz: f9c0bc8e5fda09066ca3989d731e9454d0a68fb3
5
5
  SHA512:
6
- metadata.gz: 9031edaf2db5862fd0aed63f2e2ab66a85e6a29f0306365f79f1a272a767e7c0cb3d03d9601c93fe01b21d3387c2d866833e5e0008ff22d9e8c3931145c7ce52
7
- data.tar.gz: fe92484bfa886c6ac6b5707aed1c2908d5f1315579c2bf5cd70e91d88efb3bbc0a6b602a2d91a8e9f33ed7508ace61ca623a208cfbab4902ad9774ea9a0a3a8d
6
+ metadata.gz: 8f15d83eb42a7151fbbbb052e1780b5867c14a1f69848725b9a10e03df4bf004e04b4c75a0eadbab75777e1ad0827fe98b9d382b44449e76ed4bead92dd8cb1d
7
+ data.tar.gz: 07f69248e20d11ee4b88676b023822df6a65c5cf4538f73d362f9679301493fe0884beac8e1520f79ce701bef42e54167adc25743526e31dfb63550744cd38c5
@@ -38,6 +38,13 @@ module Mystique
38
38
  def method_missing(method, *args, &block)
39
39
  return target.send(method, *args, &block) if method.to_s.start_with?("to_")
40
40
  format( target.send(method, *args, &block) )
41
+ rescue NoMethodError => ex
42
+ if use_magic_brackets?
43
+ format(target.send(:[], *[method].concat(args), &block))
44
+ else
45
+ raise ex
46
+ end
47
+
41
48
  end
42
49
 
43
50
  def format(value)
@@ -50,9 +57,9 @@ module Mystique
50
57
  else
51
58
  value
52
59
  end
53
- Mystique.present(Callable(result).call(value, context))
60
+ Mystique.present(Callable(result).call(value, context))
54
61
  end
55
-
62
+
56
63
  def self.context(ctx=Undefined)
57
64
  @__context__ = ctx unless ctx == Undefined
58
65
  @__context__
@@ -68,10 +75,6 @@ module Mystique
68
75
  end
69
76
  end
70
77
 
71
- def __formats__
72
- self.class.__formats__
73
- end
74
-
75
78
  def self.default_formats
76
79
  if block_given?
77
80
  @__default_formats__ = yield
@@ -83,7 +86,23 @@ module Mystique
83
86
  def default_formats
84
87
  Mystique::Presenter.default_formats
85
88
  end
89
+
90
+ def self.use_magic_brackets
91
+ @__use_magic_brackets__ = true
92
+ end
93
+
94
+ def self.use_magic_brackets?
95
+ @__use_magic_brackets__
96
+ end
97
+
98
+ def use_magic_brackets?
99
+ self.class.use_magic_brackets?
100
+ end
86
101
 
102
+ def __formats__
103
+ self.class.__formats__
104
+ end
105
+
87
106
  def self.__formats__
88
107
  @__formats__ ||= Mystique::Presenter.default_formats
89
108
  end
@@ -1,3 +1,3 @@
1
1
  module Mystique
2
- VERSION = "0.5.2"
2
+ VERSION = "0.5.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mystique
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Federico Iachetti
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-10 00:00:00.000000000 Z
11
+ date: 2015-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler