sugarcrm 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "activesupport", ">= 3.0.0", :require => "active_support"
4
+ gem "i18n"
5
+
6
+ # Add dependencies to develop your gem here.
7
+ # Include everything needed to run rake, tests, features, etc.
8
+ group :development do
9
+ gem "shoulda", ">= 0"
10
+ gem "bundler", "~> 1.0.0"
11
+ gem "jeweler", "~> 1.5.2"
12
+ gem "rcov", ">= 0"
13
+ end
data/Rakefile CHANGED
@@ -1,23 +1,25 @@
1
1
  require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
2
10
  require 'rake'
3
11
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "sugarcrm"
8
- gem.summary = %Q{Ruby based REST client for SugarCRM}
9
- gem.description = %Q{A less clunky way to interact with SugarCRM via REST. Instead of SugarCRM.connection.get_entry("Users", "1") you could use SugarCRM::User.find(1). There is support for collections à la SugarCRM::User.find(1).email_addresses, or SugarCRM::Contact.first.meetings << new_meeting. ActiveRecord style finders are in place, with limited support for conditions and joins.}
10
- gem.email = "carl.hicks@gmail.com"
11
- gem.homepage = "http://github.com/chicks/sugarcrm"
12
- gem.authors = ["Carl Hicks"]
13
- gem.add_development_dependency "shoulda", ">= 0"
14
- gem.add_dependency "activesupport", ">= 3.0"
15
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
- end
17
- Jeweler::GemcutterTasks.new
18
- rescue LoadError
19
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
+ gem.name = "sugarcrm"
16
+ gem.summary = %Q{Ruby based REST client for SugarCRM}
17
+ gem.description = %Q{A less clunky way to interact with SugarCRM via REST. Instead of SugarCRM.connection.get_entry("Users", "1") you could use SugarCRM::User.find(1). There is support for collections a la SugarCRM::User.find(1).email_addresses, or SugarCRM::Contact.first.meetings << new_meeting. ActiveRecord style finders are in place, with limited support for conditions and joins.}
18
+ gem.email = "carl.hicks@gmail.com"
19
+ gem.homepage = "http://github.com/chicks/sugarcrm"
20
+ gem.authors = ["Carl Hicks"]
20
21
  end
22
+ Jeweler::RubygemsDotOrgTasks.new
21
23
 
22
24
  require 'rake/testtask'
23
25
  Rake::TestTask.new(:test) do |test|
@@ -26,21 +28,13 @@ Rake::TestTask.new(:test) do |test|
26
28
  test.verbose = true
27
29
  end
28
30
 
29
- begin
30
- require 'rcov/rcovtask'
31
- Rcov::RcovTask.new do |test|
32
- test.libs << 'test'
33
- test.pattern = 'test/**/test_*.rb'
34
- test.verbose = true
35
- end
36
- rescue LoadError
37
- task :rcov do
38
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
39
- end
31
+ require 'rcov/rcovtask'
32
+ Rcov::RcovTask.new do |test|
33
+ test.libs << 'test'
34
+ test.pattern = 'test/**/test_*.rb'
35
+ test.verbose = true
40
36
  end
41
37
 
42
- task :test => :check_dependencies
43
-
44
38
  task :default => :test
45
39
 
46
40
  require 'rake/rdoctask'
@@ -51,4 +45,4 @@ Rake::RDocTask.new do |rdoc|
51
45
  rdoc.title = "sugarcrm #{version}"
52
46
  rdoc.rdoc_files.include('README*')
53
47
  rdoc.rdoc_files.include('lib/**/*.rb')
54
- end
48
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.1
1
+ 0.9.2
data/lib/sugarcrm/base.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module SugarCRM; class Base
2
2
 
3
3
  # Unset all of the instance methods we don't need.
4
- instance_methods.each { |m| undef_method m unless m =~ /(^__|^send$|^object_id$|^define_method$|^class$|^nil.$|^methods$|^instance_of.$|^respond_to.$)/ }
4
+ instance_methods.each { |m| undef_method m unless m =~ /(^__|^send$|^object_id$|^define_method$|^class$|^nil.$|^methods$|^instance_of.$|^respond_to)/ }
5
5
 
6
6
  # This holds our connection
7
7
  cattr_accessor :connection, :instance_writer => false
@@ -122,7 +122,7 @@ module SugarCRM; class Connection
122
122
  # Some methods are dumb and don't return a JSON Response
123
123
  return @response.body if RESPONSE_IS_NOT_JSON.include? @request.method
124
124
  # Push it through the old meat grinder.
125
- response_json = JSON.parse @response.body
125
+ response_json = ActiveSupport::JSON.decode(@response.body)
126
126
  # Empty result. Is this wise?
127
127
  return false if response_json["result_count"] == 0
128
128
  # Filter debugging on REALLY BIG responses
@@ -6,7 +6,7 @@ class TestGetServerInfo < Test::Unit::TestCase
6
6
  SugarCRM::Connection.new(URL, USER, PASS, {:register_modules => false})
7
7
  end
8
8
  should "get server info" do
9
- assert true, SugarCRM.connection.get_server_info
9
+ assert_instance_of String, SugarCRM.connection.get_server_info["version"]
10
10
  end
11
11
  end
12
12
  end
@@ -6,7 +6,7 @@ class TestLogin < Test::Unit::TestCase
6
6
  SugarCRM::Connection.new(URL, USER, PASS, {:register_modules => false})
7
7
  end
8
8
  should "login and set session id" do
9
- assert_not_nil SugarCRM.connection.session
9
+ assert (SugarCRM.connection.session.class == String)
10
10
  end
11
11
  end
12
12
  end
@@ -1,12 +1,12 @@
1
1
  require 'helper'
2
2
 
3
- class TestLogin < Test::Unit::TestCase
3
+ class TestLogout < Test::Unit::TestCase
4
4
  context "A SugarCRM.connection" do
5
5
  setup do
6
6
  SugarCRM::Connection.new(URL, USER, PASS, {:register_modules => false})
7
7
  end
8
8
  should "logout and not be able to login with the old session id" do
9
- assert true, SugarCRM.connection.logout
9
+ assert (SugarCRM.connection.logout.class == Hash)
10
10
  end
11
11
  end
12
12
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sugarcrm
3
3
  version: !ruby/object:Gem::Version
4
- hash: 57
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 9
9
- - 1
10
- version: 0.9.1
8
+ - 2
9
+ version: 0.9.2
11
10
  platform: ruby
12
11
  authors:
13
12
  - Carl Hicks
@@ -19,35 +18,90 @@ date: 2011-01-04 00:00:00 -08:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
- name: shoulda
23
- prerelease: false
21
+ name: activesupport
24
22
  requirement: &id001 !ruby/object:Gem::Requirement
25
23
  none: false
26
24
  requirements:
27
25
  - - ">="
28
26
  - !ruby/object:Gem::Version
29
- hash: 3
30
27
  segments:
28
+ - 3
31
29
  - 0
32
- version: "0"
33
- type: :development
30
+ - 0
31
+ version: 3.0.0
32
+ type: :runtime
33
+ prerelease: false
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
36
- name: activesupport
37
- prerelease: false
36
+ name: i18n
38
37
  requirement: &id002 !ruby/object:Gem::Requirement
39
38
  none: false
40
39
  requirements:
41
40
  - - ">="
42
41
  - !ruby/object:Gem::Version
43
- hash: 7
44
42
  segments:
45
- - 3
46
43
  - 0
47
- version: "3.0"
44
+ version: "0"
48
45
  type: :runtime
46
+ prerelease: false
49
47
  version_requirements: *id002
50
- description: "A less clunky way to interact with SugarCRM via REST. Instead of SugarCRM.connection.get_entry(\"Users\", \"1\") you could use SugarCRM::User.find(1). There is support for collections \xC3\xA0 la SugarCRM::User.find(1).email_addresses, or SugarCRM::Contact.first.meetings << new_meeting. ActiveRecord style finders are in place, with limited support for conditions and joins."
48
+ - !ruby/object:Gem::Dependency
49
+ name: shoulda
50
+ requirement: &id003 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
57
+ version: "0"
58
+ type: :development
59
+ prerelease: false
60
+ version_requirements: *id003
61
+ - !ruby/object:Gem::Dependency
62
+ name: bundler
63
+ requirement: &id004 !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ segments:
69
+ - 1
70
+ - 0
71
+ - 0
72
+ version: 1.0.0
73
+ type: :development
74
+ prerelease: false
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: jeweler
78
+ requirement: &id005 !ruby/object:Gem::Requirement
79
+ none: false
80
+ requirements:
81
+ - - ~>
82
+ - !ruby/object:Gem::Version
83
+ segments:
84
+ - 1
85
+ - 5
86
+ - 2
87
+ version: 1.5.2
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *id005
91
+ - !ruby/object:Gem::Dependency
92
+ name: rcov
93
+ requirement: &id006 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ segments:
99
+ - 0
100
+ version: "0"
101
+ type: :development
102
+ prerelease: false
103
+ version_requirements: *id006
104
+ description: A less clunky way to interact with SugarCRM via REST. Instead of SugarCRM.connection.get_entry("Users", "1") you could use SugarCRM::User.find(1). There is support for collections a la SugarCRM::User.find(1).email_addresses, or SugarCRM::Contact.first.meetings << new_meeting. ActiveRecord style finders are in place, with limited support for conditions and joins.
51
105
  email: carl.hicks@gmail.com
52
106
  executables: []
53
107
 
@@ -58,6 +112,7 @@ extra_rdoc_files:
58
112
  - README.rdoc
59
113
  files:
60
114
  - .document
115
+ - Gemfile
61
116
  - LICENSE
62
117
  - README.rdoc
63
118
  - Rakefile
@@ -138,7 +193,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
193
  requirements:
139
194
  - - ">="
140
195
  - !ruby/object:Gem::Version
141
- hash: 3
196
+ hash: 2866682332345860933
142
197
  segments:
143
198
  - 0
144
199
  version: "0"
@@ -147,7 +202,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
202
  requirements:
148
203
  - - ">="
149
204
  - !ruby/object:Gem::Version
150
- hash: 3
151
205
  segments:
152
206
  - 0
153
207
  version: "0"