gemfury 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.
- data/README +1 -0
- data/bin/fury +10 -0
- data/bin/gemfury +2 -0
- data/lib/gemfury.rb +3 -0
- data/lib/gemfury/client.rb +27 -0
- data/lib/gemfury/command.rb +39 -0
- data/lib/gemfury/const.rb +26 -0
- data/lib/gemfury/platform.rb +15 -0
- metadata +182 -0
data/README
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Placeholder - real gem coming soon
|
data/bin/fury
ADDED
data/bin/gemfury
ADDED
data/lib/gemfury.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'multi_json'
|
2
|
+
require 'faraday_middleware'
|
3
|
+
|
4
|
+
module Gemfury
|
5
|
+
module Client
|
6
|
+
::Faraday::Request::JSON.adapter = ::MultiJson
|
7
|
+
|
8
|
+
private
|
9
|
+
def client(raw = false)
|
10
|
+
options = {
|
11
|
+
:url => "http://#{Const.host}",
|
12
|
+
:ssl => { :verify => false },
|
13
|
+
:headers => {
|
14
|
+
'Accept' => 'application/json',
|
15
|
+
'Content-Type' => 'application/json; charset=utf-8'
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
Faraday.new(options) do |builder|
|
20
|
+
builder.use Faraday::Request::JSON
|
21
|
+
#builder.use Faraday::Response::Logger
|
22
|
+
builder.use Faraday::Response::ParseJson
|
23
|
+
builder.adapter :net_http
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'launchy'
|
3
|
+
require 'highline'
|
4
|
+
|
5
|
+
module Gemfury
|
6
|
+
class Command < Thor
|
7
|
+
include Gemfury::Client
|
8
|
+
|
9
|
+
desc "push GEM" ,"upload a new version of a gem"
|
10
|
+
def push(*gems)
|
11
|
+
if gems.empty?
|
12
|
+
shell.say "Problem: No gems specified", :red
|
13
|
+
help(:push)
|
14
|
+
return
|
15
|
+
end
|
16
|
+
|
17
|
+
# Collect registration info
|
18
|
+
term = HighLine.new
|
19
|
+
term.say(Const.welcome)
|
20
|
+
email = term.ask("Email: ") do |q|
|
21
|
+
q.responses[:not_valid] = Const.email_error
|
22
|
+
q.validate = Const.email_regex
|
23
|
+
end
|
24
|
+
|
25
|
+
# Send the registration request
|
26
|
+
conn = client # From Gemfury::Client
|
27
|
+
resp = conn.post('/invites.json', :invite => { :email => email })
|
28
|
+
|
29
|
+
# Handle the registration
|
30
|
+
if resp.success?
|
31
|
+
body = resp.body
|
32
|
+
term.say "Thanks! Gemfury is almost ready. Please stay tuned."
|
33
|
+
Launchy.open("http://#{Const.host}/invites/#{body['slug']}")
|
34
|
+
else
|
35
|
+
term.say "Oops! Something went wrong. Please try again", :red
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Gemfury
|
2
|
+
module Const
|
3
|
+
class << self
|
4
|
+
def host
|
5
|
+
'www.gemfury.com'
|
6
|
+
#'localhost:3000'
|
7
|
+
end
|
8
|
+
|
9
|
+
def welcome
|
10
|
+
"Welcome to Gemfury!\nPlease complete the following information"
|
11
|
+
end
|
12
|
+
|
13
|
+
def email_error
|
14
|
+
"Invalid email address. Please try again."
|
15
|
+
end
|
16
|
+
|
17
|
+
def email_regex
|
18
|
+
return @email_regex if @email_regex
|
19
|
+
email_name_regex = '[A-Z0-9_\.%\+\-\']+'
|
20
|
+
domain_head_regex = '(?:[A-Z0-9\-]+\.)+'
|
21
|
+
domain_tld_regex = '(?:[A-Z]{2,4}|museum|travel)'
|
22
|
+
@email_regex = /^#{email_name_regex}@#{domain_head_regex}#{domain_tld_regex}$/i
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,182 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gemfury
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 25
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Michael Rykov
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-05-17 00:00:00 -07:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: highline
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 15
|
30
|
+
segments:
|
31
|
+
- 1
|
32
|
+
- 6
|
33
|
+
- 0
|
34
|
+
version: 1.6.0
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: thor
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 45
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
- 14
|
49
|
+
- 5
|
50
|
+
version: 0.14.5
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: launchy
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
hash: 15
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
- 4
|
65
|
+
- 0
|
66
|
+
version: 0.4.0
|
67
|
+
type: :runtime
|
68
|
+
version_requirements: *id003
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: multi_json
|
71
|
+
prerelease: false
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 19
|
78
|
+
segments:
|
79
|
+
- 1
|
80
|
+
- 0
|
81
|
+
- 2
|
82
|
+
version: 1.0.2
|
83
|
+
type: :runtime
|
84
|
+
version_requirements: *id004
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: faraday
|
87
|
+
prerelease: false
|
88
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
hash: 5
|
94
|
+
segments:
|
95
|
+
- 0
|
96
|
+
- 6
|
97
|
+
- 1
|
98
|
+
version: 0.6.1
|
99
|
+
type: :runtime
|
100
|
+
version_requirements: *id005
|
101
|
+
- !ruby/object:Gem::Dependency
|
102
|
+
name: faraday_middleware
|
103
|
+
prerelease: false
|
104
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
hash: 1
|
110
|
+
segments:
|
111
|
+
- 0
|
112
|
+
- 6
|
113
|
+
- 3
|
114
|
+
version: 0.6.3
|
115
|
+
type: :runtime
|
116
|
+
version_requirements: *id006
|
117
|
+
description: |
|
118
|
+
Client library and command-line tool to manage your gems on http://gemfury.com
|
119
|
+
|
120
|
+
email: mrykov@gmail.com
|
121
|
+
executables:
|
122
|
+
- gemfury
|
123
|
+
- fury
|
124
|
+
extensions: []
|
125
|
+
|
126
|
+
extra_rdoc_files: []
|
127
|
+
|
128
|
+
files:
|
129
|
+
- README
|
130
|
+
- bin/fury
|
131
|
+
- bin/gemfury
|
132
|
+
- lib/gemfury/client.rb
|
133
|
+
- lib/gemfury/command.rb
|
134
|
+
- lib/gemfury/const.rb
|
135
|
+
- lib/gemfury/platform.rb
|
136
|
+
- lib/gemfury.rb
|
137
|
+
has_rdoc: false
|
138
|
+
homepage: http://gemfury.com
|
139
|
+
licenses: []
|
140
|
+
|
141
|
+
post_install_message: |
|
142
|
+
************************************************************************
|
143
|
+
|
144
|
+
Upload your first gem to start using Gemfury:
|
145
|
+
fury push my-gem-1.0.gem
|
146
|
+
|
147
|
+
Follow @gemfury on Twitter for announcements, updates, and news.
|
148
|
+
https://twitter.com/gemfury
|
149
|
+
|
150
|
+
************************************************************************
|
151
|
+
|
152
|
+
rdoc_options: []
|
153
|
+
|
154
|
+
require_paths:
|
155
|
+
- lib
|
156
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
157
|
+
none: false
|
158
|
+
requirements:
|
159
|
+
- - ">="
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
hash: 3
|
162
|
+
segments:
|
163
|
+
- 0
|
164
|
+
version: "0"
|
165
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
|
+
none: false
|
167
|
+
requirements:
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
hash: 3
|
171
|
+
segments:
|
172
|
+
- 0
|
173
|
+
version: "0"
|
174
|
+
requirements: []
|
175
|
+
|
176
|
+
rubyforge_project:
|
177
|
+
rubygems_version: 1.6.2
|
178
|
+
signing_key:
|
179
|
+
specification_version: 3
|
180
|
+
summary: Client library and command-line tool to manage your gems on Gemfury
|
181
|
+
test_files: []
|
182
|
+
|