inidol 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/inidol.rb +12 -4
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 842e13fc9ebf7e258f1bafc2d89500c49d83a429
4
- data.tar.gz: '0189f3df3380da1ca618ffb9cb438e505724e71b'
3
+ metadata.gz: 4a210656292325922a490e94132fc8f0af77d842
4
+ data.tar.gz: 137a76d65bf0ba946625a6de3bd82ae1052c2d7f
5
5
  SHA512:
6
- metadata.gz: cb58057b981a4fd63de4546f941f2cc023464b428a53a8b9174d14ef11c0adf93294390e70f21e9cc653baf783eee242d9e3de00d41185916554ae765c9b556c
7
- data.tar.gz: 2c7acfa1bf0b689923298a0eb6803720ba8138e96e62860fcecc1d90a8906a6c7b584f041c1ddc67d19139d52b74a44ecab8bbc7333d2036e44e65e2e8509d76
6
+ metadata.gz: c6fadb6fa6505390d2449c733d4b1340e92e01da449475bac8de64302f5ba39b20c60409f650ecb3866a6b7f3b9e44f0d025e8b93e5b836ae448435dba57e281
7
+ data.tar.gz: 12c03c2a758d591addd37bb7c8b1d8dcff8e42347347289d2ec7fd3bdcc17368b51c1eb92d81b97ee2693d1c2c975f1ba0e90d08b7b97e9d1cea25fdd9db4b92
data/lib/inidol.rb CHANGED
@@ -55,7 +55,7 @@ class INIHash < BabelBridge::Parser
55
55
  end
56
56
 
57
57
  rule :values, any(:array, :types)
58
- rule :types, any(:string, :content, :int, :bool)
58
+ rule :types, any(:int, :bool, :string, :content)
59
59
 
60
60
  rule :int,/[-]?[0-9]+/ do
61
61
  def evaluate
@@ -75,7 +75,7 @@ class INIHash < BabelBridge::Parser
75
75
  end
76
76
  end
77
77
 
78
- rule :content, /[^\n\=\[\];#,]+/ do
78
+ rule :content, /[^\n\=\[\]";#,]+/ do
79
79
  def evaluate
80
80
  to_s.chomp
81
81
  end
@@ -109,7 +109,15 @@ end
109
109
  class String
110
110
  def from_ini
111
111
  parser = INIHash.new
112
- parser.parse(self).evaluate
113
- parser.result
112
+ result = parser.parse(self)
113
+ line, column = BabelBridge::Tools.line_column(self, parser.failure_index)
114
+
115
+ if result
116
+ result.evaluate
117
+ parser.result
118
+ else
119
+ error_line = self.split(/\n+/)[line - 1]
120
+ puts "(\e[31m\e[1mSyntax\e[21m Failure\e[39m) on line #{line - 1} and column #{column}..."
121
+ end
114
122
  end
115
123
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inidol
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - homonoid