hodmin 0.1.3 → 0.1.4

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: dcd24a4eeaaf4d587fdb201901648e4cc6e425d0
4
- data.tar.gz: 02620586a29db3cb205e966668c9b32b911469f7
3
+ metadata.gz: 8bb33acdfd9c0f5535e53bf8c5d26fc81fdf6fbf
4
+ data.tar.gz: 1eee8590abe1d7fb11b958a2f1f8adf46d713d9e
5
5
  SHA512:
6
- metadata.gz: f3b8a292ef8bf5b589df449a8c54f8e840140cdb5871575a4fb8ce0ac47d02a8254d2f440fcc3cd0dddea166f2c3ff0ca1e94d99434eb0adfd5866a0c288772d
7
- data.tar.gz: 1db4f061de23d0eabcdbbb906b0bc55f3f34083f1153699fcb634dddb3041a851b38846481303cfe2e7ce1691b8d1da7ed4fb275c79d8dfdd39bb4c807985197
6
+ metadata.gz: 8216ba7554941c66bdedb0188c4ec4d966b81e938dd562621a54f46fae00e4c364e66e3eccd74eb1b831ddcecaf620cdeff469fb3b59d62f84e158da12cecf6c
7
+ data.tar.gz: 7b20bae529e42caf8da7c307bc7986ad49988e872cf802a0ce5c1bc6591a16fce2e8750cf526b56fd03e0a3eaf77e59f18b01fd0ebcc7bc93d3d382ac3fbeda7
@@ -85,11 +85,16 @@ def options_long(short)
85
85
  when 'user' then cfg['mqtt'] << Hash['username' => value]
86
86
  when 'mqttpw' then cfg['mqtt'] = cfg['mqtt'].merge(Hash['password' => value])
87
87
  when 'ota' then cfg['ota'] = Hash['enabled' => value == 'on' ? true : false]
88
+ # to be done:
89
+ # when 'settings' then
90
+ # puts "to be done: settings not implemented in short-config right now"
91
+ # puts "key=#{key}, value=#{value}"
88
92
  else
89
93
  puts "ERR: illegal option: #{key.downcase}"
90
94
  exit
91
95
  end
92
96
  end
97
+
93
98
  cfg = cfg.delete_if { |_k, v| v.nil? || v.empty? }
94
99
  puts "\nNew config will be: #{cfg.inspect}"
95
100
  cfg.to_json
@@ -127,8 +127,17 @@ class HomieDevice
127
127
  self.class.send(:define_method, name, &block)
128
128
  end
129
129
 
130
+ # Helper to remove some special chars from string to avoid problems in instance_variable_set:
131
+ def remove_special_chars(str)
132
+ to_be_replaced = ['%', '!', '(', ')', '&', '?', ',', '.', '^', ' ']
133
+ to_be_replaced.each{|char| str.gsub!(char,'')}
134
+ str
135
+ end
136
+
130
137
  # Helper to create instance variables on the fly:
131
138
  def create_attr(name, value)
139
+ # replace chars
140
+ name = remove_special_chars(name)
132
141
  create_method(name.to_sym) { instance_variable_get('@' + name) }
133
142
  instance_variable_set('@' + name, value)
134
143
  end
@@ -1,3 +1,3 @@
1
1
  module Hodmin
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hodmin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Romeyke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-25 00:00:00.000000000 Z
11
+ date: 2017-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: configatron
@@ -195,6 +195,6 @@ rubyforge_project:
195
195
  rubygems_version: 2.5.1
196
196
  signing_key:
197
197
  specification_version: 4
198
- summary: Hodmin is a tool to administrate Homie-devices (IOT, esp8266-based microcomputers
198
+ summary: Hodmin is a tool to administrate Homie-devices (IOT, esp8266-based microprozessors
199
199
  with Homie-firmware)
200
200
  test_files: []