WWT 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  *.gem
2
2
  .bundle
3
3
  Gemfile.lock
4
+ tmp/*
4
5
  pkg/*
@@ -22,6 +22,6 @@ Gem::Specification.new do |s|
22
22
  # specify any dependencies here; for example:
23
23
  # s.add_development_dependency "rspec"
24
24
  s.add_dependency "rest-client"
25
- s.add_dependency "hpricot"
25
+ # s.add_dependency "hpricot"
26
26
 
27
27
  end
@@ -1,7 +1,9 @@
1
1
  require 'rest_client'
2
- require 'Hpricot'
2
+ require 'rexml/document'
3
3
  require 'WWT/WWT_layer'
4
4
 
5
+ include REXML
6
+
5
7
  class WWTClient
6
8
 
7
9
  attr_accessor :url, :port
@@ -28,6 +30,8 @@ class WWTClient
28
30
  end
29
31
 
30
32
  def call_command(args_list,data="")
33
+ puts "#{@url}:#{@port}/layerApi.aspx?#{args_list}"
34
+ puts "data is #{data}"
31
35
  parse_responce(RestClient.post "#{@url}:#{@port}/layerApi.aspx?#{args_list}", data)
32
36
 
33
37
  end
@@ -50,10 +54,10 @@ class WWTClient
50
54
  end
51
55
 
52
56
  def parse_responce(responce)
53
-
54
- parse = Hpricot(responce)
57
+ puts responce
55
58
  raise "WWT error #{parse.search('h2').inner_html}"if responce.match(/Error/)
56
- parse.search("layerapi").collect{|l| l.children.map{|c| {c.name =>{:content=>c.inner_html, :properties=>c.attributes}}}}.first
59
+ parse = Document.new responce
60
+ parse.elements.to_a("/LayerApi/*") {|el| el.children.map{|c| {c.name =>{:content=>c.text, :properties=>c.attributes}}}}.first
57
61
  end
58
62
 
59
63
  end
@@ -12,6 +12,7 @@ class WWT_layer
12
12
  end
13
13
 
14
14
  def get_property(property_name)
15
+ puts "running get property"
15
16
  name = WWT_layer.sanitize_property_name(property_name.to_s)
16
17
  puts "#{name}"
17
18
  result = @telescope.getprop :id=>layer_id, :propname => name
@@ -19,10 +20,15 @@ class WWT_layer
19
20
  end
20
21
 
21
22
  def set_property(property_name,args)
23
+ puts "running set property"
22
24
  name = WWT_layer.sanitize_property_name(property_name.to_s)
23
25
  @telescope.setprop :id => layer_id, :propname => name, :propvalue=>args
24
26
  end
25
27
 
28
+ def update(args)
29
+ @telescope.update args.merge(:id=>layer_id)
30
+ end
31
+
26
32
  def self.sanitize_property_name(name)
27
33
  name.split("_").map{|w| w.capitalize}.join("")
28
34
  end
@@ -1,3 +1,3 @@
1
1
  module Wwt
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: WWT
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-14 00:00:00.000000000Z
12
+ date: 2011-09-25 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
- requirement: &70242630577740 !ruby/object:Gem::Requirement
16
+ requirement: &70128588440780 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,18 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70242630577740
25
- - !ruby/object:Gem::Dependency
26
- name: hpricot
27
- requirement: &70242630577320 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70242630577320
24
+ version_requirements: *70128588440780
36
25
  description: ! "This gem exposes the WWT remote API(or at least most of it) to ruby.
37
26
  It works by sending given commands to an open port on the \n machine running
38
27
  WWT."