summaryrefslogtreecommitdiffstats
path: root/lib/evendoors/link.rb
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2012-05-03 22:27:16 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2012-05-03 22:27:16 +0200
commit2ee48c4f18470e733f244c659221e243ff998416 (patch)
tree62949886912b3dc5eb9e000b211e7f45f17ed978 /lib/evendoors/link.rb
downloadedoors-ruby-2ee48c4f18470e733f244c659221e243ff998416.zip
edoors-ruby-2ee48c4f18470e733f244c659221e243ff998416.tar.gz
initial commit
Diffstat (limited to 'lib/evendoors/link.rb')
-rw-r--r--lib/evendoors/link.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/evendoors/link.rb b/lib/evendoors/link.rb
new file mode 100644
index 0000000..b2a9bba
--- /dev/null
+++ b/lib/evendoors/link.rb
@@ -0,0 +1,31 @@
+#! /usr/bin/env ruby
+# -*- coding: UTF-8 -*-
+
+#
+module EvenDoors
+ #
+ class Link
+ #
+ def initialize src, dsts, fields, cond_fields, cond_value
+ @src = src # link source name
+ @dsts = dsts # , separated destinations to apply to the particle on linking success
+ @fields = fields # , separated fields to apply to the particle on linking success
+ @cond_fields = cond_fields # , separated fields used to generate the link value with particle payload
+ @cond_value = cond_value # value which will be compared to the particle link value to link or not
+ @door = nil # pointer to the source
+ end
+ #
+ def self.from_particle_data p
+ EvenDoors::Link.new(p.get_data(EvenDoors::LNK_SRC), p.get_data(EvenDoors::LNK_DSTS),
+ p.get_data(EvenDoors::LNK_FIELDS), p.get_data(EvenDoors::LNK_CONDF),
+ p.get_data(EvenDoors::LNK_CONDV))
+ end
+ #
+ attr_accessor :door
+ attr_reader :src, :dsts, :fields, :cond_fields, :cond_value
+ #
+ end
+ #
+end
+#
+# EOF