gridcli 0.1.0 → 0.1.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.
@@ -7,10 +7,27 @@ module GridCLI
7
7
 
8
8
  def run(args)
9
9
  parse_opts args
10
- last_sha = @stats['last_sha']
11
10
 
11
+ posts = run_since_sha(@stats['last_sha'])
12
+ total_posts = posts.length
13
+ @stats['last_sha'] = save(posts) if posts.length > 0
14
+
15
+ # If we're doing this in chunks, get more
16
+ while posts.length == 300
17
+ posts = run_since_sha(@stats['last_sha'])
18
+ total_posts += posts.length
19
+ @stats['last_sha'] = save(posts) if posts.length > 0
20
+ end
21
+
22
+ @stats.save
23
+ puts "Saved #{total_posts} posts. Now up to date."
24
+ end
25
+
26
+
27
+ def run_since_sha(last_sha)
12
28
  GridCLI.hooker.invoke :before_update
13
29
 
30
+ posts = []
14
31
  begin
15
32
  if last_sha.nil?
16
33
  log "Trying to download all messages."
@@ -21,30 +38,18 @@ module GridCLI
21
38
  end
22
39
  rescue ActiveResource::ClientError
23
40
  puts "There was an error updating your messages."
24
- return
25
41
  end
26
42
 
27
- posts = GridCLI.hooker.invoke :after_update, posts
28
-
29
- log "Saving #{posts ? posts.length : 0} posts."
30
- save posts
43
+ GridCLI.hooker.invoke :after_update, posts
31
44
  end
32
45
 
33
46
  def save(posts)
34
- if posts.blank?
35
- puts "Up to date."
36
- else
37
- posts.each { |p|
38
- type = p.known_attributes.first
39
- json = p.send(type).to_json(:root => type)
40
- pprint json
41
- }
42
- @stats['last_sha'] = GridCLI.storage.append(posts)
43
- @stats.save
44
-
45
- # run again if we got back 300 posts
46
- run(args) if posts.length == 300
47
- end
47
+ posts.each { |p|
48
+ type = p.known_attributes.first
49
+ json = p.send(type).to_json(:root => type)
50
+ pprint json
51
+ }
52
+ (posts.length > 0) ? GridCLI.storage.append(posts) : nil
48
53
  end
49
54
  end
50
55
 
@@ -1,3 +1,3 @@
1
1
  module GridCLI
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,79 +1,82 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: gridcli
3
- version: !ruby/object:Gem::Version
4
- version: 0.1.0
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.1.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Brian Muller
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-13 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2012-10-05 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: activeresource
16
- requirement: &70303204333320 !ruby/object:Gem::Requirement
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
17
19
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
21
23
  version: 3.0.10
22
24
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70303204333320
25
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: activesupport
27
- requirement: &70303204332820 !ruby/object:Gem::Requirement
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
28
30
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
32
34
  version: 3.0.10
33
35
  type: :runtime
34
- prerelease: false
35
- version_requirements: *70303204332820
36
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
37
38
  name: chronic
38
- requirement: &70303204332360 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
39
41
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
43
45
  version: 0.6.4
44
46
  type: :runtime
45
- prerelease: false
46
- version_requirements: *70303204332360
47
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
48
49
  name: json
49
- requirement: &70303204331900 !ruby/object:Gem::Requirement
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
50
52
  none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
54
56
  version: 1.6.1
55
57
  type: :runtime
56
- prerelease: false
57
- version_requirements: *70303204331900
58
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
59
60
  name: colorize
60
- requirement: &70303204331440 !ruby/object:Gem::Requirement
61
+ prerelease: false
62
+ requirement: &id005 !ruby/object:Gem::Requirement
61
63
  none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
65
67
  version: 0.5.8
66
68
  type: :runtime
67
- prerelease: false
68
- version_requirements: *70303204331440
69
- description: ! 'A command line interface to The Grid: Social Networking, Web 0.2'
70
- email:
69
+ version_requirements: *id005
70
+ description: "A command line interface to The Grid: Social Networking, Web 0.2"
71
+ email:
71
72
  - bamuller@gmail.com
72
- executables:
73
+ executables:
73
74
  - grid
74
75
  extensions: []
76
+
75
77
  extra_rdoc_files: []
76
- files:
78
+
79
+ files:
77
80
  - .gitignore
78
81
  - .rvmrc
79
82
  - Gemfile
@@ -117,26 +120,30 @@ files:
117
120
  - lib/gridcli/ymlhash.rb
118
121
  homepage: http://gridcli.com
119
122
  licenses: []
123
+
120
124
  post_install_message:
121
125
  rdoc_options: []
122
- require_paths:
126
+
127
+ require_paths:
123
128
  - lib
124
- required_ruby_version: !ruby/object:Gem::Requirement
129
+ required_ruby_version: !ruby/object:Gem::Requirement
125
130
  none: false
126
- requirements:
127
- - - ! '>='
128
- - !ruby/object:Gem::Version
129
- version: '0'
130
- required_rubygems_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: "0"
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
136
  none: false
132
- requirements:
133
- - - ! '>='
134
- - !ruby/object:Gem::Version
135
- version: '0'
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: "0"
136
141
  requirements: []
142
+
137
143
  rubyforge_project: gridcli
138
- rubygems_version: 1.8.17
144
+ rubygems_version: 1.8.24
139
145
  signing_key:
140
146
  specification_version: 3
141
- summary: ! 'A command line interface to The Grid: Social Networking, Web 0.2'
147
+ summary: "A command line interface to The Grid: Social Networking, Web 0.2"
142
148
  test_files: []
149
+