memotoo 2.0.0 → 2.0.1
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 +8 -0
- data/Gemfile.lock +7 -5
- data/README.rdoc +16 -9
- data/VERSION +1 -1
- data/lib/memotoo.rb +8 -10
- data/lib/memotoo/core-ext/hash.rb +11 -13
- data/lib/memotoo/main.rb +50 -40
- data/memotoo.gemspec +8 -3
- data/test/test_memotoo.rb +5 -5
- data/test/test_soapobjects.rb +2 -5
- metadata +48 -17
- data/lib/memotoo/core-ext/kernel.rb +0 -10
data/Gemfile
CHANGED
@@ -4,6 +4,8 @@ source "http://rubygems.org"
|
|
4
4
|
gem "i18n"
|
5
5
|
gem "activesupport", ">= 2.3.5"
|
6
6
|
gem "savon", "~> 0.9.2"
|
7
|
+
gem 'httpi', "0.9.4" # for ruby 1.9.2 support
|
8
|
+
gem 'rake', '0.8.7' # probs in 0.9.2
|
7
9
|
|
8
10
|
# Add dependencies to develop your gem here.
|
9
11
|
# Include everything needed to run rake, tests, features, etc.
|
@@ -13,4 +15,10 @@ group :development do
|
|
13
15
|
gem "bundler", "~> 1.0.0"
|
14
16
|
gem "jeweler", "~> 1.5.2"
|
15
17
|
gem "rcov", ">= 0"
|
18
|
+
|
19
|
+
# needed for switching between ruby 1.8.7 and 1.9.2 for debugging
|
20
|
+
#gem 'ruby-debug19', :require => 'ruby-debug'
|
21
|
+
#gem 'linecache', "0.43"
|
22
|
+
#gem 'ruby-debug'
|
23
|
+
|
16
24
|
end
|
data/Gemfile.lock
CHANGED
@@ -4,10 +4,10 @@ GEM
|
|
4
4
|
activesupport (3.0.8)
|
5
5
|
builder (3.0.0)
|
6
6
|
git (1.2.5)
|
7
|
-
gyoku (0.4.
|
7
|
+
gyoku (0.4.4)
|
8
8
|
builder (>= 2.1.2)
|
9
|
-
httpi (0.9.
|
10
|
-
ntlm-http (>= 0.1.1)
|
9
|
+
httpi (0.9.4)
|
10
|
+
pyu-ntlm-http (>= 0.1.3.1)
|
11
11
|
rack
|
12
12
|
i18n (0.6.0)
|
13
13
|
jeweler (1.5.2)
|
@@ -15,8 +15,8 @@ GEM
|
|
15
15
|
git (>= 1.2.5)
|
16
16
|
rake
|
17
17
|
nokogiri (1.4.4)
|
18
|
-
nori (0.2.
|
19
|
-
ntlm-http (0.1.1)
|
18
|
+
nori (0.2.3)
|
19
|
+
pyu-ntlm-http (0.1.3.1)
|
20
20
|
rack (1.1.2)
|
21
21
|
rake (0.8.7)
|
22
22
|
rcov (0.9.9)
|
@@ -34,9 +34,11 @@ PLATFORMS
|
|
34
34
|
DEPENDENCIES
|
35
35
|
activesupport (>= 2.3.5)
|
36
36
|
bundler (~> 1.0.0)
|
37
|
+
httpi (= 0.9.4)
|
37
38
|
i18n
|
38
39
|
jeweler (~> 1.5.2)
|
39
40
|
rack (~> 1.1.2)
|
41
|
+
rake (= 0.8.7)
|
40
42
|
rcov
|
41
43
|
savon (~> 0.9.2)
|
42
44
|
shoulda
|
data/README.rdoc
CHANGED
@@ -4,7 +4,9 @@
|
|
4
4
|
|
5
5
|
The memotoo-gem is a soap(savon)-wrapper to (easy) access your {memotoo}[https://www.memotoo.com/index-saleshype.php] contacts.
|
6
6
|
|
7
|
-
Add, get, search, modify and delete your memotoo contacts,
|
7
|
+
Add, get, search, modify, sync and delete your memotoo contacts, bookmarks, notes, event and tasks.
|
8
|
+
|
9
|
+
<b>Works now an Ruby 1.8.7 and Ruby 1.9.2 !!!</b>
|
8
10
|
|
9
11
|
== You need
|
10
12
|
you need a memotoo-credential (username/passwd) to use this gem
|
@@ -77,9 +79,7 @@ bookmarks:
|
|
77
79
|
@connect.deleteBookmark(12345)
|
78
80
|
|
79
81
|
|
80
|
-
Requirements:
|
81
|
-
|
82
|
-
for the objects:
|
82
|
+
Requirements for the objects:
|
83
83
|
|
84
84
|
Contact:: :lastname
|
85
85
|
ContactGroup:: :name
|
@@ -91,15 +91,15 @@ Event:: :title, :dateBegin, :dateEnd
|
|
91
91
|
Holiday:: :description, :dateBegin, :dateEnd
|
92
92
|
Task:: :title
|
93
93
|
|
94
|
-
for the methods:
|
94
|
+
Requirements for the methods:
|
95
95
|
|
96
|
-
searchmethod::
|
96
|
+
searchmethod:: minimum a hash with a symbol search and your searchstring
|
97
97
|
id:: id of record, integer
|
98
98
|
get...Sync:: datetime, format YYYY-MM-DD HH:MM:SS - "2010-02-23 10:00:00"
|
99
99
|
modify:: id of record, integer
|
100
100
|
add and modify:: need always the object requirements
|
101
101
|
|
102
|
-
|
102
|
+
Be careful with used dates:
|
103
103
|
|
104
104
|
Holiday::
|
105
105
|
dateBegin:: "2011-01-01", Format: YYYY-MM-DD
|
@@ -120,9 +120,12 @@ You can now use the gem rubygems-test for easy testing this gem.
|
|
120
120
|
|
121
121
|
gem test memotoo
|
122
122
|
|
123
|
-
See my testresult here: http://test.rubygems.org/gems/memotoo/v/2.0.
|
123
|
+
See my testresult here: http://test.rubygems.org/gems/memotoo/v/2.0.1/test_results/1682
|
124
|
+
|
125
|
+
my testresult for ruby 1.9.2 here:
|
126
|
+
http://test.rubygems.org/gems/memotoo/v/2.0.1/test_results/1681
|
124
127
|
|
125
|
-
(To make a fast functional test only contact will be tested - goto test_soapobjects.rb line
|
128
|
+
(To make a fast functional test only contact will be tested - goto test_soapobjects.rb line 9 and uncomment it for all soapobject-tests)
|
126
129
|
|
127
130
|
==Documentation
|
128
131
|
|
@@ -132,6 +135,10 @@ and memotoo api-documentation
|
|
132
135
|
|
133
136
|
https://www.memotoo.com/index.php?rub=api#SOAP-server.php
|
134
137
|
|
138
|
+
== Changelog V. 2.0.1
|
139
|
+
|
140
|
+
some code refactoring and support for ruby >=1.9.2
|
141
|
+
|
135
142
|
== Changelog V. 2.0.0
|
136
143
|
|
137
144
|
I create all methods now dynamically. This reduced the code dramatically.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.1
|
data/lib/memotoo.rb
CHANGED
@@ -3,7 +3,6 @@ require 'active_support/inflector'
|
|
3
3
|
require "savon"
|
4
4
|
require "memotoo/main"
|
5
5
|
require "memotoo/core-ext/hash"
|
6
|
-
require "memotoo/core-ext/kernel"
|
7
6
|
|
8
7
|
class Memotoo
|
9
8
|
|
@@ -55,21 +54,20 @@ module Savon # :nodoc: all
|
|
55
54
|
end
|
56
55
|
end
|
57
56
|
|
58
|
-
#Finished in
|
57
|
+
#Finished in 41.165241 seconds.
|
59
58
|
|
60
|
-
#
|
59
|
+
#74 tests, 74 assertions, 0 failures, 0 errors
|
61
60
|
#+----------------------------------------------------+-------+-------+--------+
|
62
61
|
#| File | Lines | LOC | COV |
|
63
62
|
#+----------------------------------------------------+-------+-------+--------+
|
64
|
-
#|lib/memotoo.rb |
|
65
|
-
#|lib/memotoo/core-ext/hash.rb |
|
66
|
-
#|lib/memotoo/
|
67
|
-
#|lib/memotoo/main.rb | 280 | 77 | 100.0% |
|
63
|
+
#|lib/memotoo.rb | 74 | 33 | 100.0% |
|
64
|
+
#|lib/memotoo/core-ext/hash.rb | 39 | 25 | 100.0% |
|
65
|
+
#|lib/memotoo/main.rb | 291 | 88 | 100.0% |
|
68
66
|
#+----------------------------------------------------+-------+-------+--------+
|
69
|
-
#|Total |
|
67
|
+
#|Total | 404 | 146 | 100.0% |
|
70
68
|
#+----------------------------------------------------+-------+-------+--------+
|
71
|
-
#100.0%
|
69
|
+
#100.0% 3 file(s) 404 Lines 146 LOC
|
72
70
|
|
73
|
-
#Generated on
|
71
|
+
#Generated on Thu Jun 16 02:15:11 +0200 2011 with rcov 0.9.8
|
74
72
|
|
75
73
|
|
@@ -24,18 +24,16 @@ class Hash # :nodoc: all
|
|
24
24
|
sought_value
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
27
|
+
# Returns a new Hash with +self+ and +other_hash+ merged recursively.
|
28
|
+
# Modifies the receiver in place.
|
29
|
+
# => see this function also in savon gem
|
30
|
+
# got problems in my test and had to include it here...
|
31
|
+
def deep_merge_me!(other_hash)
|
32
|
+
other_hash.each_pair do |k,v|
|
33
|
+
tv = self[k]
|
34
|
+
self[k] = tv.is_a?(Hash) && v.is_a?(Hash) ? tv.deep_merge_me!(v) : v
|
35
|
+
end
|
36
|
+
self
|
37
|
+
end unless defined? deep_merge!
|
40
38
|
|
41
39
|
end
|
data/lib/memotoo/main.rb
CHANGED
@@ -32,73 +32,79 @@ class Memotoo
|
|
32
32
|
|
33
33
|
# the accessible soap objects
|
34
34
|
soapobjects = %w{Contact ContactGroup Bookmark BookmarkFolder Note CalendarCategory Event Holiday Task}
|
35
|
+
methods = %w{add search get modify sync delete }
|
35
36
|
|
36
37
|
soapobjects.each do |soapobject|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
38
|
+
symbol=soapobject.underscore.to_sym # Contact -> :contact
|
39
|
+
|
40
|
+
action={} # action = generated method names in a hash e.g. {:add=>"addContact", :get=>"getContact"} for this soapobject
|
41
|
+
methods.each do |newmethod|
|
42
|
+
action[newmethod.to_sym]=newmethod+soapobject
|
43
|
+
action[newmethod.to_sym]="get" << soapobject << "Sync" if newmethod=="sync"
|
44
|
+
end
|
42
45
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
+
selfclass.send(:define_method, action[:add]) do |details|
|
47
|
+
detailsApicall(action[:add],{symbol => details},[:id]) if fields?(details, NEEDS[symbol])
|
48
|
+
end
|
46
49
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
# modify
|
56
|
-
methodname="modify"+soapobject
|
57
|
-
selfclass.send(:define_method, methodname) { |details| output(detailsApicall({symbol => details}), :ok) if fields?(details, [NEEDS[symbol], :id].flatten!) }
|
50
|
+
selfclass.send(:define_method, action[:modify]) do |details|
|
51
|
+
detailsApicall(action[:modify],{symbol => details},[:ok]) if fields?(details, [NEEDS[symbol], :id].flatten!)
|
52
|
+
end
|
53
|
+
|
54
|
+
selfclass.send(:define_method, action[:search]) do |params|
|
55
|
+
searchCall(action[:search],params,[:return, symbol]) if fields?(params, [:search])
|
56
|
+
end
|
58
57
|
|
59
|
-
|
60
|
-
|
61
|
-
|
58
|
+
selfclass.send(:define_method, action[:sync]) do |datetime|
|
59
|
+
getSyncApiCall(action[:sync],datetime,[:return, symbol])
|
60
|
+
end
|
62
61
|
|
62
|
+
selfclass.send(:define_method, action[:get]) do |id|
|
63
|
+
idApicall(action[:get],id,[:return, symbol])
|
64
|
+
end
|
65
|
+
|
66
|
+
selfclass.send(:define_method, action[:delete]) do |id|
|
67
|
+
idApicall(action[:delete],id,[:ok])
|
68
|
+
end
|
63
69
|
end
|
64
70
|
end
|
65
71
|
|
66
|
-
def
|
67
|
-
|
68
|
-
|
72
|
+
def searchCall(method, searchparameter, outputkeys)
|
73
|
+
search = SEARCHDEFAULTS.merge!(searchparameter)
|
74
|
+
output(method,apicall(method,search), outputkeys)
|
69
75
|
end
|
70
76
|
|
71
|
-
def getSyncApiCall(datetime)
|
72
|
-
|
73
|
-
|
74
|
-
apicall(calling_method.to_sym, { :date => formated_date })
|
77
|
+
def getSyncApiCall(method, datetime, outputkeys)
|
78
|
+
formated_date=Date.parse(datetime).strftime("%Y-%m-%d %H:%M:%S")
|
79
|
+
output(method,apicall(method, {:date => formated_date}), outputkeys)
|
75
80
|
end
|
76
81
|
|
77
|
-
def idApicall(id)
|
78
|
-
apicall(
|
82
|
+
def idApicall(method, id, outputkeys)
|
83
|
+
output(method,apicall(method,{:id => id}), outputkeys)
|
79
84
|
end
|
80
85
|
|
81
|
-
def detailsApicall(details)
|
82
|
-
|
86
|
+
def detailsApicall(method, details, outputkeys)
|
87
|
+
output(method,apicall(method,details), outputkeys)
|
83
88
|
end
|
84
|
-
|
85
|
-
# used
|
89
|
+
|
90
|
+
# used for a savon-soap request
|
86
91
|
def apicall(action, parameter)
|
92
|
+
|
87
93
|
response=@client.request :wsdl, action do
|
88
94
|
soap.body = { :param => parameter }.deep_merge_me!(self.opts)
|
89
95
|
end
|
90
96
|
response
|
91
97
|
rescue Savon::Error => error
|
92
|
-
raise ArgumentError, "Memotoo
|
98
|
+
raise ArgumentError, "Memotoo - invalid username/password" if error.message.nil?
|
93
99
|
end
|
94
100
|
|
95
|
-
def output(response,
|
96
|
-
output_key = [(
|
101
|
+
def output(method, response, keys=[])
|
102
|
+
output_key = [(method.to_s.underscore+"_response").to_sym] | keys # e.g. [:addContact, :return, :contact]
|
97
103
|
response.nil? ? nil : response.to_hash.seek(output_key)
|
98
104
|
end
|
99
105
|
|
100
106
|
def go_home(message)
|
101
|
-
raise ArgumentError, "Memotoo
|
107
|
+
raise ArgumentError, "Memotoo - missing fields: " + message.to_s
|
102
108
|
end
|
103
109
|
|
104
110
|
def fields?(thehash, args=[])
|
@@ -208,7 +214,11 @@ class Memotoo
|
|
208
214
|
# id_bookmark_folder_parent:: "363174"
|
209
215
|
# ---------------------
|
210
216
|
|
211
|
-
|
217
|
+
#--
|
218
|
+
#
|
219
|
+
# for the other object make a search and analyze the first result
|
220
|
+
#
|
221
|
+
#++
|
212
222
|
|
213
223
|
# ---------------------
|
214
224
|
# :section: Contact fields
|
data/memotoo.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{memotoo}
|
8
|
-
s.version = "2.0.
|
8
|
+
s.version = "2.0.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Karsten Redmer"]
|
12
|
-
s.date = %q{2011-06-
|
12
|
+
s.date = %q{2011-06-16}
|
13
13
|
s.description = %q{Unofficial gem for connecting to memotoo.com with their soap-api and handle your contact needs. Memotoo lets your synchronize all your contacts, events and tasks with yahoo, gmail, facebook, xing, outlook, your mobile-phone and more. You can also get your e-mails in one place.Features of memotoo:
|
14
14
|
New mobile? Transfer all your data to your new device!
|
15
15
|
Synchronise your data with your mobile phone (with SyncML)
|
@@ -36,7 +36,6 @@ Gem::Specification.new do |s|
|
|
36
36
|
"VERSION",
|
37
37
|
"lib/memotoo.rb",
|
38
38
|
"lib/memotoo/core-ext/hash.rb",
|
39
|
-
"lib/memotoo/core-ext/kernel.rb",
|
40
39
|
"lib/memotoo/main.rb",
|
41
40
|
"memotoo.gemspec",
|
42
41
|
"test/helper.rb",
|
@@ -61,6 +60,8 @@ Gem::Specification.new do |s|
|
|
61
60
|
s.add_runtime_dependency(%q<i18n>, [">= 0"])
|
62
61
|
s.add_runtime_dependency(%q<activesupport>, [">= 2.3.5"])
|
63
62
|
s.add_runtime_dependency(%q<savon>, ["~> 0.9.2"])
|
63
|
+
s.add_runtime_dependency(%q<httpi>, ["= 0.9.4"])
|
64
|
+
s.add_runtime_dependency(%q<rake>, ["= 0.8.7"])
|
64
65
|
s.add_development_dependency(%q<rack>, ["~> 1.1.2"])
|
65
66
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
66
67
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
@@ -71,6 +72,8 @@ Gem::Specification.new do |s|
|
|
71
72
|
s.add_dependency(%q<i18n>, [">= 0"])
|
72
73
|
s.add_dependency(%q<activesupport>, [">= 2.3.5"])
|
73
74
|
s.add_dependency(%q<savon>, ["~> 0.9.2"])
|
75
|
+
s.add_dependency(%q<httpi>, ["= 0.9.4"])
|
76
|
+
s.add_dependency(%q<rake>, ["= 0.8.7"])
|
74
77
|
s.add_dependency(%q<rack>, ["~> 1.1.2"])
|
75
78
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
76
79
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
@@ -82,6 +85,8 @@ Gem::Specification.new do |s|
|
|
82
85
|
s.add_dependency(%q<i18n>, [">= 0"])
|
83
86
|
s.add_dependency(%q<activesupport>, [">= 2.3.5"])
|
84
87
|
s.add_dependency(%q<savon>, ["~> 0.9.2"])
|
88
|
+
s.add_dependency(%q<httpi>, ["= 0.9.4"])
|
89
|
+
s.add_dependency(%q<rake>, ["= 0.8.7"])
|
85
90
|
s.add_dependency(%q<rack>, ["~> 1.1.2"])
|
86
91
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
87
92
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
data/test/test_memotoo.rb
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
require 'helper'
|
1
|
+
require File.expand_path('./test/helper')
|
2
2
|
|
3
3
|
class TestMemotoo < Test::Unit::TestCase
|
4
4
|
|
5
5
|
context "Memotoo-Soap Api basic tests" do
|
6
6
|
|
7
7
|
setup do
|
8
|
-
@connect=Memotoo.new(MEMOTOO_USERNAME,MEMOTOO_PASSWORD)
|
8
|
+
@connect=Memotoo.new(MEMOTOO_USERNAME,MEMOTOO_PASSWORD,false)
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
should "have a connect-instance" do
|
12
12
|
assert_equal Memotoo, @connect.class
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
should "write a message if username/password is not correct" do
|
16
|
-
|
16
|
+
@connect=Memotoo.new(MEMOTOO_USERNAME,"wrongpasswd")
|
17
17
|
assert_raises ArgumentError do
|
18
18
|
response = @connect.searchContact(TESTSEARCHDEFAULTS)
|
19
19
|
end
|
data/test/test_soapobjects.rb
CHANGED
@@ -1,16 +1,13 @@
|
|
1
|
-
require 'helper'
|
1
|
+
require File.expand_path('./test/helper')
|
2
2
|
|
3
3
|
class TestMemotoo < Test::Unit::TestCase
|
4
4
|
|
5
5
|
# api-problem in: BookmarkFolder, Holiday -> reportet to Thomas Pequet on 12.July 2011
|
6
6
|
|
7
|
-
# uncomment this to test all soapobjects
|
8
7
|
soapobjects = %w{Contact}
|
8
|
+
# uncomment this to test all soapobjects
|
9
9
|
#soapobjects = %w{Contact ContactGroup Bookmark Note CalendarCategory Event Task}
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
11
|
fixure = { :contact => { :new => {:lastname => "Testcontact123456"},
|
15
12
|
:mod => {:lastname => "Testcontact123456xyz"}},
|
16
13
|
:contact_group => { :new=>{:name => "TestcontactGroup123456"},
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memotoo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 2.0.
|
9
|
+
- 1
|
10
|
+
version: 2.0.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Karsten Redmer
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-06-
|
18
|
+
date: 2011-06-16 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -65,8 +65,40 @@ dependencies:
|
|
65
65
|
version_requirements: *id003
|
66
66
|
prerelease: false
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
|
-
type: :
|
68
|
+
type: :runtime
|
69
69
|
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - "="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 51
|
75
|
+
segments:
|
76
|
+
- 0
|
77
|
+
- 9
|
78
|
+
- 4
|
79
|
+
version: 0.9.4
|
80
|
+
name: httpi
|
81
|
+
version_requirements: *id004
|
82
|
+
prerelease: false
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
type: :runtime
|
85
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
87
|
+
requirements:
|
88
|
+
- - "="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
hash: 49
|
91
|
+
segments:
|
92
|
+
- 0
|
93
|
+
- 8
|
94
|
+
- 7
|
95
|
+
version: 0.8.7
|
96
|
+
name: rake
|
97
|
+
version_requirements: *id005
|
98
|
+
prerelease: false
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
type: :development
|
101
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
70
102
|
none: false
|
71
103
|
requirements:
|
72
104
|
- - ~>
|
@@ -78,11 +110,11 @@ dependencies:
|
|
78
110
|
- 2
|
79
111
|
version: 1.1.2
|
80
112
|
name: rack
|
81
|
-
version_requirements: *
|
113
|
+
version_requirements: *id006
|
82
114
|
prerelease: false
|
83
115
|
- !ruby/object:Gem::Dependency
|
84
116
|
type: :development
|
85
|
-
requirement: &
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
86
118
|
none: false
|
87
119
|
requirements:
|
88
120
|
- - ">="
|
@@ -92,11 +124,11 @@ dependencies:
|
|
92
124
|
- 0
|
93
125
|
version: "0"
|
94
126
|
name: shoulda
|
95
|
-
version_requirements: *
|
127
|
+
version_requirements: *id007
|
96
128
|
prerelease: false
|
97
129
|
- !ruby/object:Gem::Dependency
|
98
130
|
type: :development
|
99
|
-
requirement: &
|
131
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
100
132
|
none: false
|
101
133
|
requirements:
|
102
134
|
- - ~>
|
@@ -108,11 +140,11 @@ dependencies:
|
|
108
140
|
- 0
|
109
141
|
version: 1.0.0
|
110
142
|
name: bundler
|
111
|
-
version_requirements: *
|
143
|
+
version_requirements: *id008
|
112
144
|
prerelease: false
|
113
145
|
- !ruby/object:Gem::Dependency
|
114
146
|
type: :development
|
115
|
-
requirement: &
|
147
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
116
148
|
none: false
|
117
149
|
requirements:
|
118
150
|
- - ~>
|
@@ -124,11 +156,11 @@ dependencies:
|
|
124
156
|
- 2
|
125
157
|
version: 1.5.2
|
126
158
|
name: jeweler
|
127
|
-
version_requirements: *
|
159
|
+
version_requirements: *id009
|
128
160
|
prerelease: false
|
129
161
|
- !ruby/object:Gem::Dependency
|
130
162
|
type: :development
|
131
|
-
requirement: &
|
163
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
132
164
|
none: false
|
133
165
|
requirements:
|
134
166
|
- - ">="
|
@@ -138,11 +170,11 @@ dependencies:
|
|
138
170
|
- 0
|
139
171
|
version: "0"
|
140
172
|
name: rcov
|
141
|
-
version_requirements: *
|
173
|
+
version_requirements: *id010
|
142
174
|
prerelease: false
|
143
175
|
- !ruby/object:Gem::Dependency
|
144
176
|
type: :runtime
|
145
|
-
requirement: &
|
177
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
146
178
|
none: false
|
147
179
|
requirements:
|
148
180
|
- - ">="
|
@@ -152,7 +184,7 @@ dependencies:
|
|
152
184
|
- 0
|
153
185
|
version: "0"
|
154
186
|
name: savon
|
155
|
-
version_requirements: *
|
187
|
+
version_requirements: *id011
|
156
188
|
prerelease: false
|
157
189
|
description: |-
|
158
190
|
Unofficial gem for connecting to memotoo.com with their soap-api and handle your contact needs. Memotoo lets your synchronize all your contacts, events and tasks with yahoo, gmail, facebook, xing, outlook, your mobile-phone and more. You can also get your e-mails in one place.Features of memotoo:
|
@@ -184,7 +216,6 @@ files:
|
|
184
216
|
- VERSION
|
185
217
|
- lib/memotoo.rb
|
186
218
|
- lib/memotoo/core-ext/hash.rb
|
187
|
-
- lib/memotoo/core-ext/kernel.rb
|
188
219
|
- lib/memotoo/main.rb
|
189
220
|
- memotoo.gemspec
|
190
221
|
- test/helper.rb
|