ooor 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/bin/ooor CHANGED
@@ -25,7 +25,15 @@ unless ARGV.empty?
25
25
  else
26
26
  port = "8069"
27
27
  end
28
- url = "http://#{base_url}:#{port}/xmlrpc"
28
+
29
+ if ARGV[1] == "-s" || ARGV[2] == "-s" #secure mode
30
+ port = 443 unless port_given
31
+ protocol = "https"
32
+ else
33
+ protocol = "http"
34
+ end
35
+
36
+ url = "#{protocol}://#{base_url}:#{port}/xmlrpc"
29
37
  if ARGV[1] && ARGV[1] != "-s"
30
38
  password = ARGV[1]
31
39
  else
@@ -35,10 +43,6 @@ unless ARGV.empty?
35
43
  system "stty echo"
36
44
  end
37
45
 
38
- if ARGV[1] == "-s" || ARGV[2] == "-s" #secure mode
39
- url.gsub!("http", "https")
40
- url.gsub!("8069", "8071") unless port_given
41
- end
42
46
  else
43
47
  puts "USAGE: ooor admin.database@host\nor ooor admin.database@host:port\nor ooor admin.database for localhost\nyou can specify the password with ooor admin.database@host password\nyou can use the -s option for secure HTTPS mode"
44
48
  exit 0
data/lib/ooor/base.rb CHANGED
@@ -97,7 +97,11 @@ module Ooor
97
97
  attributes.each do |key, value|
98
98
  skey = key.to_s
99
99
  if self.class.associations_keys.index(skey) || value.is_a?(Array) #FIXME may miss m2o with inherits!
100
- @associations[skey] = value #the association because we want the method to load the association through method missing
100
+ if value.is_a?(Ooor::Base) || value.is_a?(Array) && value.all? {|i| i.is_a?(Ooor::Base)}
101
+ @loaded_associations[skey] = value #we want the method to load the association through method missing
102
+ else
103
+ @associations[skey] = value
104
+ end
101
105
  else
102
106
  @attributes[skey] = value || nil #don't bloat with false values
103
107
  end
data/lib/ooor/errors.rb CHANGED
@@ -17,7 +17,7 @@ module Ooor
17
17
  end
18
18
 
19
19
  def self.build(faultCode, faultString, method, *args)
20
- if faultCode =~ /AttributeError: /
20
+ if faultCode =~ /AttributeError: / || faultCode =~ /object has no attribute/
21
21
  return UnknownAttributeOrAssociationError.new("method: #{method} - args: #{args.inspect}", faultCode, faultString)
22
22
  elsif faultCode =~ /TypeError: /
23
23
  return TypeError.new(method, faultCode, faultString, *args)
@@ -37,7 +37,6 @@ module Ooor
37
37
 
38
38
  # this is used by fields_for in ActionView FormHelper
39
39
  def define_nested_attributes_method(meth)
40
- p "define_nested_attributes_method", meth
41
40
  unless self.respond_to?(meth)
42
41
  self.instance_eval do
43
42
  define_method "#{meth}_attributes=" do |*args|
@@ -25,6 +25,11 @@ module Ooor
25
25
  end
26
26
 
27
27
  def oe_request(session_info, url, params, method, *args)
28
+ if session_info[:req_id]
29
+ session_info[:req_id] += 1
30
+ else
31
+ session_info[:req_id] = 1
32
+ end
28
33
  if session_info[:sid] # required on v7 but forbidden in v8
29
34
  params.merge!({"session_id" => session_info[:session_id]})
30
35
  end
@@ -32,7 +37,7 @@ module Ooor
32
37
  req.headers['Cookie'] = session_info[:cookie]
33
38
  req.url url
34
39
  req.headers['Content-Type'] = 'application/json'
35
- req.body = {"jsonrpc"=>"2.0","method"=>"call", "params" => params, "id"=>"r42"}.to_json
40
+ req.body = {"jsonrpc"=>"2.0","method"=>"call", "params" => params, "id"=>session_info[:req_id]}.to_json
36
41
  end.body)
37
42
  if response["error"]
38
43
  faultCode = response["error"]['data']['fault_code'] || response["error"]['data']['debug']
@@ -45,11 +50,8 @@ module Ooor
45
50
 
46
51
  Faraday::Connection.send :include, OeAdapter
47
52
 
48
- def self.new(url = nil, options = nil)
49
- if defined?(Java) # see http://stackoverflow.com/questions/5711190/how-to-get-rid-of-opensslsslsslerror
50
- options ||= {}
51
- options[:ssl] = {:verify => false}
52
- end
53
+ def self.new(url = nil, options = {})
54
+ options[:ssl] = {:verify => false}
53
55
  Faraday.new(url, options) # TODO use middlewares
54
56
  end
55
57
  end
data/lib/ooor/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Ooor
2
2
  MAJOR = 2
3
3
  MINOR = 0
4
- TINY = 1
4
+ TINY = 2
5
5
  PRE = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, TINY].compact.join('.')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ooor
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -117,3 +117,4 @@ test_files:
117
117
  - spec/helpers/test_helper.rb
118
118
  - spec/install_nightly.sh
119
119
  - spec/ooor_spec.rb
120
+ has_rdoc: