sugarcrm 0.9.1 → 0.9.2

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.
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"