del 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.
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