hodmin 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []