del 0.1.0 → 0.1.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
  SHA256:
3
- metadata.gz: afaa566255eb3aacdbafd40be9fb851aea94ce127c66971c2b45d56e2b4727e0
4
- data.tar.gz: 1ab8ea7c7c52ee69ce24e9bb5d9b80d0ead4a95419a84435d5a1354e739a643a
3
+ metadata.gz: 5a4e9193a7e58ecb7c4195cc44959af6ae915e8d189cb68367419af260419844
4
+ data.tar.gz: cc390be8a96218d8d8d6ececf6c944f90c46e1d4a44940bfba6c448e59b93cc9
5
5
  SHA512:
6
- metadata.gz: c4e725a47f715ab3150b0c568914c2f938674236c2dfec677daab4080b621403d2bac9da0468bf7da5e249a3abd745a6532470876f769b574a0855914b68c0c1
7
- data.tar.gz: c6b53590d00feaafabda49b5c9c0c11a76f1219664cf842d302a2a1f52f6e9ab719306b5f45653dcf97eb4cbb2a8905e0e9362463b395780190735a72eec11cd
6
+ metadata.gz: b9c261aa11e6a3c6aedb608ec33f4c7cf8b1095d000cf7ffd9e161b2ec48cc23a82e1debfa34e05339327cbedee4419a573730fd514a7a5ba78926085ae8b78a
7
+ data.tar.gz: 409e76bd0714896bc2cf469b32664defda74df568a7062e41173ed1511e5b06f10088d81d290116186fb360bad0604f441a432d7fb80b1b85b5c2738c2df587a
data/exe/del CHANGED
@@ -1,5 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "del"
4
+ require "pathname"
4
5
 
5
- Del.start
6
+ home = Pathname.new(Dir.home)
7
+ Del.start(
8
+ dotenv_file: ENV.fetch("DELRC", home.join(".delrc").to_s)
9
+ )
@@ -21,8 +21,8 @@ module Del
21
21
  end
22
22
  roster.get_roster
23
23
  roster.wait_for_roster
24
- #@mention_name = roster[jid].attributes["mention_name"]
25
24
  client.add_message_callback do |message|
25
+ next if message.type == :error || message.body.nil?
26
26
  robot.receive(message)
27
27
  end
28
28
  client.send(Jabber::Presence.new(:chat))
data/lib/del/robot.rb CHANGED
@@ -1,10 +1,8 @@
1
1
  module Del
2
2
  class Robot
3
- attr_reader :connection, :users, :rooms
3
+ attr_reader :connection
4
4
 
5
5
  def initialize(configuration:)
6
- @users = UserRepository.new
7
- @rooms = RoomRepository.new
8
6
  @connection = Connection.new(
9
7
  configuration: configuration,
10
8
  users: users,
@@ -12,7 +10,7 @@ module Del
12
10
  )
13
11
  end
14
12
 
15
- def run
13
+ def get_funky!
16
14
  connection.connect(self)
17
15
  sleep
18
16
  rescue Interrupt
@@ -20,12 +18,21 @@ module Del
20
18
  end
21
19
 
22
20
  def receive(message)
23
- return if message.type == :error || message.body.nil?
24
21
  send_message(message.from, message.body)
25
22
  end
26
23
 
27
24
  def send_message(jid, message)
28
25
  connection.deliver(jid, message)
29
26
  end
27
+
28
+ private
29
+
30
+ def users
31
+ @users ||= UserRepository.new
32
+ end
33
+
34
+ def rooms
35
+ @rooms ||= RoomRepository.new
36
+ end
30
37
  end
31
38
  end
@@ -1,3 +1,4 @@
1
+ module Del
1
2
  class RoomRepository
2
3
  def initialize
3
4
  @rooms = Set.new
@@ -7,3 +8,4 @@
7
8
  @rooms << room
8
9
  end
9
10
  end
11
+ end
data/lib/del/user.rb CHANGED
@@ -1,5 +1,7 @@
1
+ module Del
1
2
  class User
2
3
  def initialize(attributes)
3
4
  @attributes = attributes
4
5
  end
5
6
  end
7
+ end
@@ -1,3 +1,4 @@
1
+ module Del
1
2
  class UserRepository
2
3
  def initialize
3
4
  @users = Set.new
@@ -7,3 +8,4 @@
7
8
  @users << User.new(item.attributes)
8
9
  end
9
10
  end
11
+ end
data/lib/del/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Del
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/del.rb CHANGED
@@ -12,15 +12,24 @@ require "del/user_repository"
12
12
  require "del/version"
13
13
 
14
14
  module Del
15
- def self.start
16
- Dotenv.load(".env.local", Pathname.new(Dir.home).join(".delrc").to_s)
15
+ def self.start(dotenv_file:)
16
+ puts "Loading... #{dotenv_file}"
17
+ Dotenv.load(dotenv_file)
18
+ puts "It's fire! 🔥"
19
+ del = Robot.new(configuration: configuration)
20
+ del.get_funky!
21
+ end
22
+
23
+ def self.configure
24
+ yield configuration
25
+ end
17
26
 
18
- del = Robot.new(configuration: {
27
+ def self.configuration
28
+ @configuration ||= {
19
29
  host: ENV.fetch("DEL_HOST"),
20
30
  jid: ENV.fetch("DEL_JID"),
21
31
  muc_domain: ENV.fetch("DEL_MUC_DOMAIN"),
22
32
  password: ENV.fetch("DEL_PASSWORD"),
23
- })
24
- del.run
33
+ }
25
34
  end
26
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: del
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo