kmayer-highrise 0.9.2 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ pkg/**
data/CHANGELOG ADDED
@@ -0,0 +1,49 @@
1
+ 2009-05-04 Ken Mayer <kmayer@bitwrangler.com
2
+
3
+ * Version 0.9.0
4
+
5
+ * Changed cache_store= interface to accept :none (to disable caching), :rails (to use the default Rails cache, whatever that happens to be), and, consequently, restores the lookup_store default behavior (given nil or empty options returns a new, default cache_store).
6
+
7
+ * Documentation update. Created and back-filled CHANGELOG
8
+
9
+ 2009-05-01 Ken Mayer <kmayer@bitwrangler.com>
10
+
11
+ * Version 0.8.0
12
+
13
+ * Added caching feature
14
+
15
+ * Added example code
16
+
17
+ * Documentation update
18
+
19
+ * Updated gemspec
20
+
21
+ 2009-04-26 Ken Mayer <kmayer@bitwrangler.com>
22
+
23
+ * Version 0.7.0
24
+
25
+ * Refactored Tag & Taggable so ::Tag is a subclass of Base. This adds ::Tag.find(:all) to your quiver of tools. All existing functionality passes tests, but the interface to ::Tag.new has changed. You have to treat it like all of other ARes, that is, use a Hash (instead of positional parameters) to initialize the model.
26
+
27
+ 2009-04-22 Luis Bepop
28
+
29
+ * Version 0.6.3
30
+
31
+ * Support to tags refactored. Include curl helper to improve support for objects without ActiveResource base like 'tag' which needs a parse in a html document from a httprequest.
32
+
33
+ 2009-04-06 slainer68
34
+
35
+ * Version 0.6.2
36
+
37
+ * Modularize Taggable
38
+
39
+ 2009-03-31 ThiagoLelis
40
+
41
+ * Version 0.6.1
42
+
43
+ * Add Person.tag that show a array of tags, and Perton.tag(name), add a new tag to a person.
44
+
45
+ 2009-01-14 tapajos
46
+
47
+ * Version 0.5.0
48
+
49
+ * Initial import
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 [name of plugin creator]
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -8,8 +8,6 @@ require "fileutils"
8
8
  require "rubygems"
9
9
  require "rake/gempackagetask"
10
10
 
11
- require File.join(File.dirname(__FILE__), 'lib', 'highrise', 'version')
12
-
13
11
  begin
14
12
  require 'jeweler'
15
13
  Jeweler::Tasks.new do |gemspec|
@@ -26,8 +24,7 @@ Configure by adding the following:
26
24
 
27
25
  require 'highrise'
28
26
  Highrise::Base.site = 'http://your_site.highrisehq.com/'
29
- Highrise::Base.user = 'your_api_auth_token'q
30
- Highrise::Base.connection.cache_store = :memory_store # for caching
27
+ Highrise::Base.user = 'your_api_auth_token'
31
28
  }
32
29
  gemspec.authors = ["Marcos Tapajós", "Ken Mayer"]
33
30
  gemspec.add_dependency('activeresource', '>=2.2')
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :patch: 2
2
+ :minor: 11
3
+ :patch: 0
3
4
  :major: 0
4
- :minor: 9
@@ -0,0 +1,3 @@
1
+ Autotest.add_discovery do
2
+ "rspec"
3
+ end
data/highrise.gemspec ADDED
@@ -0,0 +1,128 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{highrise}
5
+ s.version = "0.11.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Marcos Tapaj\303\263s", "Ken Mayer"]
9
+ s.date = %q{2009-05-20}
10
+ s.description = %q{
11
+ Based on the original API module from DHH, http://developer.37signals.com/highrise/, this
12
+ gem is a cleaned up, tested version of the same. Contributors have added support for tags
13
+ which are not supported by the API directly
14
+
15
+ Configure by adding the following:
16
+
17
+ require 'highrise'
18
+ Highrise::Base.site = 'http://your_site.highrisehq.com/'
19
+ Highrise::Base.user = 'your_api_auth_token'
20
+ }
21
+ s.email = %q{kmayer@bitwrangler.com}
22
+ s.extra_rdoc_files = [
23
+ "README.mkdn"
24
+ ]
25
+ s.files = [
26
+ ".gitignore",
27
+ "CHANGELOG",
28
+ "MIT-LICENSE",
29
+ "README.mkdn",
30
+ "Rakefile",
31
+ "VERSION.yml",
32
+ "autotest/discover.rb",
33
+ "examples/extending.rb",
34
+ "examples/sample.rb",
35
+ "highrise.gemspec",
36
+ "install.rb",
37
+ "lib/cachable.rb",
38
+ "lib/highrise.rb",
39
+ "lib/highrise/base.rb",
40
+ "lib/highrise/comment.rb",
41
+ "lib/highrise/company.rb",
42
+ "lib/highrise/curlhelper.rb",
43
+ "lib/highrise/curly.rb",
44
+ "lib/highrise/email.rb",
45
+ "lib/highrise/group.rb",
46
+ "lib/highrise/kase.rb",
47
+ "lib/highrise/membership.rb",
48
+ "lib/highrise/note.rb",
49
+ "lib/highrise/pagination.rb",
50
+ "lib/highrise/person.rb",
51
+ "lib/highrise/subject.rb",
52
+ "lib/highrise/tag.rb",
53
+ "lib/highrise/taggable.rb",
54
+ "lib/highrise/task.rb",
55
+ "lib/highrise/user.rb",
56
+ "spec/cachable_spec.rb",
57
+ "spec/highrise/base_spec.rb",
58
+ "spec/highrise/comment_spec.rb",
59
+ "spec/highrise/companies/16883216.html",
60
+ "spec/highrise/company_spec.rb",
61
+ "spec/highrise/curlhelper_spec.rb",
62
+ "spec/highrise/curly_spec.rb",
63
+ "spec/highrise/email_spec.rb",
64
+ "spec/highrise/group_spec.rb",
65
+ "spec/highrise/kase_spec.rb",
66
+ "spec/highrise/membership_spec.rb",
67
+ "spec/highrise/note_spec.rb",
68
+ "spec/highrise/pagination_spec.rb",
69
+ "spec/highrise/people/16887003.html",
70
+ "spec/highrise/person_spec.rb",
71
+ "spec/highrise/subject_spec.rb",
72
+ "spec/highrise/tag_spec.rb",
73
+ "spec/highrise/task_spec.rb",
74
+ "spec/highrise/user_spec.rb",
75
+ "spec/spec.opts",
76
+ "spec/spec_helper.rb",
77
+ "uninstall.rb"
78
+ ]
79
+ s.homepage = %q{http://github.com/kmayer/highrise}
80
+ s.rdoc_options = ["--charset=UTF-8"]
81
+ s.require_paths = ["lib"]
82
+ s.rubygems_version = %q{1.3.3}
83
+ s.summary = %q{Ruby wrapper around Highrise API}
84
+ s.test_files = [
85
+ "spec/cachable_spec.rb",
86
+ "spec/highrise/base_spec.rb",
87
+ "spec/highrise/comment_spec.rb",
88
+ "spec/highrise/company_spec.rb",
89
+ "spec/highrise/curlhelper_spec.rb",
90
+ "spec/highrise/curly_spec.rb",
91
+ "spec/highrise/email_spec.rb",
92
+ "spec/highrise/group_spec.rb",
93
+ "spec/highrise/kase_spec.rb",
94
+ "spec/highrise/membership_spec.rb",
95
+ "spec/highrise/note_spec.rb",
96
+ "spec/highrise/pagination_spec.rb",
97
+ "spec/highrise/person_spec.rb",
98
+ "spec/highrise/subject_spec.rb",
99
+ "spec/highrise/tag_spec.rb",
100
+ "spec/highrise/task_spec.rb",
101
+ "spec/highrise/user_spec.rb",
102
+ "spec/spec_helper.rb",
103
+ "examples/extending.rb",
104
+ "examples/sample.rb"
105
+ ]
106
+
107
+ if s.respond_to? :specification_version then
108
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
109
+ s.specification_version = 3
110
+
111
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
112
+ s.add_runtime_dependency(%q<activeresource>, [">= 2.2"])
113
+ s.add_runtime_dependency(%q<activesupport>, [">= 2.1"])
114
+ s.add_runtime_dependency(%q<curb>, [">= 0"])
115
+ s.add_runtime_dependency(%q<hpricot>, [">= 0"])
116
+ else
117
+ s.add_dependency(%q<activeresource>, [">= 2.2"])
118
+ s.add_dependency(%q<activesupport>, [">= 2.1"])
119
+ s.add_dependency(%q<curb>, [">= 0"])
120
+ s.add_dependency(%q<hpricot>, [">= 0"])
121
+ end
122
+ else
123
+ s.add_dependency(%q<activeresource>, [">= 2.2"])
124
+ s.add_dependency(%q<activesupport>, [">= 2.1"])
125
+ s.add_dependency(%q<curb>, [">= 0"])
126
+ s.add_dependency(%q<hpricot>, [">= 0"])
127
+ end
128
+ end
data/install.rb ADDED
@@ -0,0 +1 @@
1
+ # Install hook code here
data/lib/cachable.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # Caching is a way to speed up slow ActiveResource queries by keeping the result of
2
- # an ActiveResource request around to be reused by subequest requests. Caching is
3
- # turned off by default.
2
+ # a request around to be reused by subsequent requests.
3
+ #
4
+ # Caching is turned OFF by default.
4
5
  #
5
6
  # == Usage
6
7
  #
@@ -23,13 +24,13 @@
23
24
  #
24
25
  # Configuration examples ('off' is the default):
25
26
  #
26
- # CachedResource.connection.cache_store = :memory_store
27
+ # CachedResource.connection.cache_store = ActiveSupport::Cache.lookup_store :memory_store
27
28
  # CachedResource.connection.cache_store = ActiveSupport::Cache.lookup_store :file_store, "/path/to/cache/directory"
28
29
  # CachedResource.connection.cache_store = ActiveSupport::Cache.lookup_store :drb_store, "druby://localhost:9192"
29
30
  # CachedResource.connection.cache_store = ActiveSupport::Cache.lookup_store :mem_cache_store, "localhost"
30
31
  # CachedResource.connection.cache_store = MyOwnStore.new("parameter")
31
32
  #
32
- # Note: To ensure that caching is turned off, set CachedResource.connection.cache_store = :none
33
+ # Note: To ensure that caching is turned off, set CachedResource.connection.cache_store = nil
33
34
  #
34
35
  # FYI: You can use this with *any* active resource interface, not just Highrise.
35
36
 
@@ -46,19 +47,8 @@ module Cachable
46
47
  @cache_store ||= nil
47
48
  end
48
49
 
49
- # Wrapper for lookup_store, with a couple of special options:
50
- # Passing +:none+ will turn off caching
51
- # Passing +:rails+ will use the default Rails/AS cache (whatever it happens to be)
52
- # Passing +nil+ will use the default cache from AS
53
50
  def cache_store=(store_option)
54
- @cache_store = case store_option
55
- when :none
56
- nil
57
- when :rails
58
- Rails.cache rescue ActiveSupport::Cache.lookup_store
59
- else
60
- ActiveSupport::Cache.lookup_store(store_option)
61
- end
51
+ @cache_store = store_option
62
52
  end
63
53
 
64
54
  def is_caching?
data/lib/highrise.rb CHANGED
@@ -3,7 +3,6 @@ require 'activesupport'
3
3
  require 'active_support/basic_object'
4
4
 
5
5
  require File.dirname(__FILE__) + '/highrise/base'
6
- require File.dirname(__FILE__) + '/highrise/version'
7
6
  require File.dirname(__FILE__) + '/highrise/pagination'
8
7
  require File.dirname(__FILE__) + '/highrise/curly'
9
8
  require File.dirname(__FILE__) + '/highrise/curlhelper'
data/lib/highrise/base.rb CHANGED
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../cachable')
1
+ require File.dirname(__FILE__) + '/../cachable'
2
2
 
3
3
  module Highrise
4
4
  class Base < ActiveResource::Base
@@ -7,4 +7,3 @@ module Highrise
7
7
  include Cachable
8
8
  end
9
9
  end
10
-
@@ -9,9 +9,13 @@ module Highrise
9
9
 
10
10
  def untag!(tag_name)
11
11
  to_delete = self.tags.find{|t| t.name==tag_name} unless tag_name.blank?
12
- self.delete("tags/#{to_delete.id}") unless to_delete.nil?
12
+ self.untag_id!(to_delete.id) unless to_delete.nil?
13
13
  end
14
14
 
15
+ def untag_id!(tag_id)
16
+ self.delete("tags/#{tag_id}")
17
+ end
18
+
15
19
  def tags
16
20
  tags = []
17
21
  get_document.search("#show_tags a").each{ |a|
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
3
  describe Highrise::Base, "class configuration" do
4
4
  before(:each) do
@@ -7,26 +7,21 @@ describe Highrise::Base, "class configuration" do
7
7
  end
8
8
 
9
9
  it "should tell us if caching is active" do
10
- @connection.cache_store = :memory_store
10
+ @connection.cache_store = ActiveSupport::Cache.lookup_store :memory_store
11
11
  @connection.is_caching?.should == true
12
12
  end
13
13
 
14
14
  it "should tell us if caching is not active" do
15
- @connection.cache_store = :none
15
+ @connection.cache_store = nil
16
16
  @connection.is_caching?.should == false
17
17
  end
18
-
19
- it "should use the Rails stack default cache" do
20
- @connection.cache_store = :rails
21
- @connection.is_caching?.should == true
22
- end
23
18
  end
24
19
 
25
20
  describe Highrise::Base do
26
21
  before(:all) do
27
22
  Highrise::Base.site = 'http://example.com.i:3000'
28
23
  @connection = Highrise::Base.connection
29
- @connection.cache_store = :memory_store
24
+ @connection.cache_store = ActiveSupport::Cache.lookup_store :memory_store
30
25
  end
31
26
 
32
27
  after(:all) do
data/uninstall.rb ADDED
@@ -0,0 +1 @@
1
+ # Uninstall hook code here
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kmayer-highrise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Marcos Tapaj\xC3\xB3s"
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-05-05 00:00:00 -07:00
13
+ date: 2009-05-20 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: "0"
55
55
  version:
56
- description: "Based on the original API module from DHH, http://developer.37signals.com/highrise/, this gem is a cleaned up, tested version of the same. Contributors have added support for tags which are not supported by the API directly Configure by adding the following: require 'highrise' Highrise::Base.site = 'http://your_site.highrisehq.com/' Highrise::Base.user = 'your_api_auth_token'q Highrise::Base.connection.cache_store = :memory_store # for caching"
56
+ description: "Based on the original API module from DHH, http://developer.37signals.com/highrise/, this gem is a cleaned up, tested version of the same. Contributors have added support for tags which are not supported by the API directly Configure by adding the following: require 'highrise' Highrise::Base.site = 'http://your_site.highrisehq.com/' Highrise::Base.user = 'your_api_auth_token'"
57
57
  email: kmayer@bitwrangler.com
58
58
  executables: []
59
59
 
@@ -62,11 +62,17 @@ extensions: []
62
62
  extra_rdoc_files:
63
63
  - README.mkdn
64
64
  files:
65
+ - .gitignore
66
+ - CHANGELOG
67
+ - MIT-LICENSE
65
68
  - README.mkdn
66
69
  - Rakefile
67
70
  - VERSION.yml
71
+ - autotest/discover.rb
68
72
  - examples/extending.rb
69
73
  - examples/sample.rb
74
+ - highrise.gemspec
75
+ - install.rb
70
76
  - lib/cachable.rb
71
77
  - lib/highrise.rb
72
78
  - lib/highrise/base.rb
@@ -86,9 +92,8 @@ files:
86
92
  - lib/highrise/taggable.rb
87
93
  - lib/highrise/task.rb
88
94
  - lib/highrise/user.rb
89
- - lib/highrise/version.rb
95
+ - spec/cachable_spec.rb
90
96
  - spec/highrise/base_spec.rb
91
- - spec/highrise/cachable_spec.rb
92
97
  - spec/highrise/comment_spec.rb
93
98
  - spec/highrise/companies/16883216.html
94
99
  - spec/highrise/company_spec.rb
@@ -106,9 +111,9 @@ files:
106
111
  - spec/highrise/tag_spec.rb
107
112
  - spec/highrise/task_spec.rb
108
113
  - spec/highrise/user_spec.rb
109
- - spec/highrise/version_spec.rb
110
114
  - spec/spec.opts
111
115
  - spec/spec_helper.rb
116
+ - uninstall.rb
112
117
  has_rdoc: false
113
118
  homepage: http://github.com/kmayer/highrise
114
119
  post_install_message:
@@ -136,8 +141,8 @@ signing_key:
136
141
  specification_version: 3
137
142
  summary: Ruby wrapper around Highrise API
138
143
  test_files:
144
+ - spec/cachable_spec.rb
139
145
  - spec/highrise/base_spec.rb
140
- - spec/highrise/cachable_spec.rb
141
146
  - spec/highrise/comment_spec.rb
142
147
  - spec/highrise/company_spec.rb
143
148
  - spec/highrise/curlhelper_spec.rb
@@ -153,7 +158,6 @@ test_files:
153
158
  - spec/highrise/tag_spec.rb
154
159
  - spec/highrise/task_spec.rb
155
160
  - spec/highrise/user_spec.rb
156
- - spec/highrise/version_spec.rb
157
161
  - spec/spec_helper.rb
158
162
  - examples/extending.rb
159
163
  - examples/sample.rb
@@ -1,10 +0,0 @@
1
- module Highrise
2
- module VERSION #:nodoc:
3
- version = YAML::load_file(File.expand_path(File.dirname(__FILE__)+"/../../VERSION.yml"))
4
- MAJOR = version[:major]
5
- MINOR = version[:minor]
6
- TINY = version[:patch]
7
-
8
- STRING = [MAJOR, MINOR, TINY].join('.')
9
- end
10
- end
@@ -1,19 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Highrise::VERSION do
4
- it "should return a version string" do
5
- Highrise::VERSION::STRING.should =~ /\d+\.\d+\.\d+/
6
- end
7
-
8
- it "should return a MAJOR version" do
9
- Highrise::VERSION::MAJOR.class.should be(0.class)
10
- end
11
-
12
- it "should return a MINOR version" do
13
- Highrise::VERSION::MINOR.class.should be(0.class)
14
- end
15
-
16
- it "should return a TINY version" do
17
- Highrise::VERSION::TINY.class.should be(0.class)
18
- end
19
- end