cross-post 0.2.0 → 0.2.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.
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