xap_ruby 0.1.0
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 +7 -0
- data/.gitignore +11 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +59 -0
- data/Rakefile +3 -0
- data/bin/console +11 -0
- data/bin/setup +8 -0
- data/lib/xap.rb +30 -0
- data/lib/xap/parser.rb +6 -0
- data/lib/xap/parser/parse_xap.rb +47 -0
- data/lib/xap/parser/xap.treetop +47 -0
- data/lib/xap/parser/xap_nodes.rb +120 -0
- data/lib/xap/schema.rb +7 -0
- data/lib/xap/schema/xap_bsc.rb +416 -0
- data/lib/xap/schema/xap_bsc_device.rb +384 -0
- data/lib/xap/xap_address.rb +169 -0
- data/lib/xap/xap_dev.rb +76 -0
- data/lib/xap/xap_handler.rb +197 -0
- data/lib/xap/xap_msg.rb +194 -0
- data/lib/xap_ruby.rb +6 -0
- data/lib/xap_ruby/version.rb +3 -0
- data/xap_ruby.gemspec +43 -0
- metadata +163 -0
data/lib/xap_ruby.rb
ADDED
data/xap_ruby.gemspec
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'xap_ruby/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'xap_ruby'
|
8
|
+
spec.version = XapRuby::VERSION
|
9
|
+
spec.authors = ['Mike Bourgeous']
|
10
|
+
spec.email = ['mike@mikebourgeous.com']
|
11
|
+
|
12
|
+
spec.summary = %q{A Ruby gem for the xAP home automation protocol.}
|
13
|
+
spec.description = <<-EOF.gsub(/^ /, '')
|
14
|
+
This gem provides basic xAP Automation protocol support for EventMachine
|
15
|
+
applications. It was developed for use in Nitrogen Logic controller software.
|
16
|
+
There are no automated tests and the code could be improved in many ways, but it
|
17
|
+
may still be useful to someone.
|
18
|
+
|
19
|
+
This is a Ruby library written from scratch for communicating with a home
|
20
|
+
automation network using the xAP protocol. Supports sending and receiving
|
21
|
+
arbitrary xAP messages, triggering callbacks on certain received messages, etc.
|
22
|
+
Also includes an implementation of an xAP Basic Status and Control device.
|
23
|
+
Incoming xAP messages are parsed using an ad-hoc parser based on Ruby's
|
24
|
+
String#split() and Array#map() (a validating Treetop parser is also available).
|
25
|
+
Network events are handled using EventMachine.
|
26
|
+
EOF
|
27
|
+
spec.homepage = 'https://github.com/nitrogenlogic/xap_ruby/'
|
28
|
+
|
29
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
30
|
+
f.match(%r{^(test|spec|features)/})
|
31
|
+
end
|
32
|
+
spec.bindir = 'exe'
|
33
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
34
|
+
spec.require_paths = ['lib']
|
35
|
+
|
36
|
+
spec.add_development_dependency 'bundler', '~> 1.13'
|
37
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
38
|
+
spec.add_development_dependency 'pry'
|
39
|
+
spec.add_development_dependency 'pry-byebug'
|
40
|
+
|
41
|
+
spec.add_runtime_dependency 'eventmachine', '>= 0.12.10'
|
42
|
+
spec.add_runtime_dependency 'treetop', '>= 1.4.10'
|
43
|
+
end
|
metadata
ADDED
@@ -0,0 +1,163 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: xap_ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mike Bourgeous
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-01-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.13'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.13'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry-byebug
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: eventmachine
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.12.10
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.12.10
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: treetop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.4.10
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.4.10
|
97
|
+
description: |
|
98
|
+
This gem provides basic xAP Automation protocol support for EventMachine
|
99
|
+
applications. It was developed for use in Nitrogen Logic controller software.
|
100
|
+
There are no automated tests and the code could be improved in many ways, but it
|
101
|
+
may still be useful to someone.
|
102
|
+
|
103
|
+
This is a Ruby library written from scratch for communicating with a home
|
104
|
+
automation network using the xAP protocol. Supports sending and receiving
|
105
|
+
arbitrary xAP messages, triggering callbacks on certain received messages, etc.
|
106
|
+
Also includes an implementation of an xAP Basic Status and Control device.
|
107
|
+
Incoming xAP messages are parsed using an ad-hoc parser based on Ruby's
|
108
|
+
String#split() and Array#map() (a validating Treetop parser is also available).
|
109
|
+
Network events are handled using EventMachine.
|
110
|
+
email:
|
111
|
+
- mike@mikebourgeous.com
|
112
|
+
executables: []
|
113
|
+
extensions: []
|
114
|
+
extra_rdoc_files: []
|
115
|
+
files:
|
116
|
+
- ".gitignore"
|
117
|
+
- ".ruby-gemset"
|
118
|
+
- ".ruby-version"
|
119
|
+
- Gemfile
|
120
|
+
- LICENSE
|
121
|
+
- README.md
|
122
|
+
- Rakefile
|
123
|
+
- bin/console
|
124
|
+
- bin/setup
|
125
|
+
- lib/xap.rb
|
126
|
+
- lib/xap/parser.rb
|
127
|
+
- lib/xap/parser/parse_xap.rb
|
128
|
+
- lib/xap/parser/xap.treetop
|
129
|
+
- lib/xap/parser/xap_nodes.rb
|
130
|
+
- lib/xap/schema.rb
|
131
|
+
- lib/xap/schema/xap_bsc.rb
|
132
|
+
- lib/xap/schema/xap_bsc_device.rb
|
133
|
+
- lib/xap/xap_address.rb
|
134
|
+
- lib/xap/xap_dev.rb
|
135
|
+
- lib/xap/xap_handler.rb
|
136
|
+
- lib/xap/xap_msg.rb
|
137
|
+
- lib/xap_ruby.rb
|
138
|
+
- lib/xap_ruby/version.rb
|
139
|
+
- xap_ruby.gemspec
|
140
|
+
homepage: https://github.com/nitrogenlogic/xap_ruby/
|
141
|
+
licenses: []
|
142
|
+
metadata: {}
|
143
|
+
post_install_message:
|
144
|
+
rdoc_options: []
|
145
|
+
require_paths:
|
146
|
+
- lib
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: '0'
|
157
|
+
requirements: []
|
158
|
+
rubyforge_project:
|
159
|
+
rubygems_version: 2.5.1
|
160
|
+
signing_key:
|
161
|
+
specification_version: 4
|
162
|
+
summary: A Ruby gem for the xAP home automation protocol.
|
163
|
+
test_files: []
|