cross-post 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3b4eba1daf6b5020cabfb1fe6b5439abb8f0a6cf
4
- data.tar.gz: abe89c4de8fd97f43a31d462fedfadffeb9c934a
3
+ metadata.gz: cad95c4752964bd36ca0abc3f8e0ab594089556c
4
+ data.tar.gz: cf5cff59a6e44a0087218ee0df288b0e284ea7b4
5
5
  SHA512:
6
- metadata.gz: 15d9a991a38801246fb5290c77d5c3cd99775d9d571aa0ae43f9239a190733bb7316c41bb6737bb355a898ed8a299910826feda8fe5c5ee25d3952b1caa817e1
7
- data.tar.gz: dbe761e4e3fdea90c350d0292606d47a5728a9ed5799179426274a86b0bb35bed59b4ad240e9a158e375999a8830580b24b89cc6bfe95919d9f268981bf63584
6
+ metadata.gz: 0b581489f6274491dc1f10eab224825d38d2a8ad4b189e07bd8dbb4c32274abb74ae5fad0e947e47c7bec2164a8d1bc147ad0f49212d64ff31b4182f036e78e7
7
+ data.tar.gz: a674da5801615fe01c9284f365b455d3f4c37eec695e11042d0e4f4a2dcb8786dbe1c4c1bb9aea516136bbd60ee77bf827d7cbdcbd64cd237ca7045ac32083cf
@@ -6,15 +6,24 @@ require 'launchy'
6
6
  require 'uri'
7
7
 
8
8
  config = CrossPost::Config.new
9
- url = config['mastodon.url']
9
+ settings = config[:settings]
10
+
11
+ url = settings['mastodon.url']
10
12
  unless url
11
13
  print 'Mastodon URL ? '
12
14
  url = gets.chomp
13
15
  url = "https://#{url}" if URI.parse(url).class == URI::Generic
14
- config['mastodon.url'] = url
16
+ settings['mastodon.url'] = url
17
+ end
18
+
19
+ user = settings['mastodon.user']
20
+ unless user
21
+ print 'Mastodon username ? '
22
+ user = gets.chomp
23
+ settings['mastodon.user'] = user
15
24
  end
16
25
 
17
- client_id, client_secret = unless config['mastodon.consumer']
26
+ client_id, client_secret = unless settings['mastodon.consumer']
18
27
  puts 'Creating new app'
19
28
  token = SecureRandom.hex 64
20
29
  redirect_url = 'urn:ietf:wg:oauth:2.0:oob'
@@ -22,19 +31,23 @@ client_id, client_secret = unless config['mastodon.consumer']
22
31
  client = Mastodon::REST::Client.new base_url: url, bearer_token: token
23
32
  app = client.create_app 'CrossPost', redirect_url,
24
33
  'read write', 'https://git.imirhil.fr/aeris/cross-post/'
25
- config['mastodon.consumer.key'] = app.client_id
26
- config['mastodon.consumer.secret'] = app.client_secret
34
+ settings['mastodon.consumer.key'] = app.client_id
35
+ settings['mastodon.consumer.secret'] = app.client_secret
27
36
  [app.client_id, app.client_secret]
28
37
  else
29
- [config['mastodon.consumer.key'], config['mastodon.consumer.secret']]
38
+ [settings['mastodon.consumer.key'], settings['mastodon.consumer.secret']]
30
39
  end
31
40
 
32
41
  client = OAuth2::Client.new client_id, client_secret, site: url
33
42
  url = client.auth_code.authorize_url redirect_uri: redirect_url
34
- Launchy.open url
43
+ begin
44
+ Launchy.open url
45
+ rescue
46
+ puts "Open your browser at this URL: #{url}"
47
+ end
35
48
 
36
49
  print 'Token ? '
37
50
  token = gets.chomp
38
- config['mastodon.token'] = token
51
+ settings['mastodon.token'] = token
39
52
 
40
- config.save
53
+ settings.save
@@ -113,7 +113,7 @@ class CrossPost
113
113
  def load(name, file = nil)
114
114
  file ||= "#{name}.yml"
115
115
  file = File.join @dir, file
116
- FileUtils.touch file unless File.exist? file
116
+ File.write(file, YAML.dump({})) unless File.exist? file
117
117
  self[name] = FileSubConfig.new file
118
118
  end
119
119
  end
@@ -1,3 +1,3 @@
1
1
  class CrossPost
2
- VERSION = '0.2.0'.freeze
2
+ VERSION = '0.2.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cross-post
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - aeris