mirror of
https://github.com/onyx-and-iris/obsws-ruby.git
synced 2025-04-19 19:03:46 +01:00
Compare commits
No commits in common. "4c4746fe8a5e3f31b21d51ee332489b41ac5194e" and "a4b70b6a98a42570416fc5ab46bf1b8c451816ac" have entirely different histories.
4c4746fe8a
...
a4b70b6a98
@ -1,7 +1,7 @@
|
|||||||
PATH
|
PATH
|
||||||
remote: .
|
remote: .
|
||||||
specs:
|
specs:
|
||||||
obsws (0.6.1)
|
obsws (0.6.0)
|
||||||
waitutil (~> 0.2.1)
|
waitutil (~> 0.2.1)
|
||||||
websocket-driver (~> 0.7.5)
|
websocket-driver (~> 0.7.5)
|
||||||
|
|
||||||
|
@ -28,8 +28,8 @@ module OBSWS
|
|||||||
ALL = LOW_VOLUME | HIGH_VOLUME
|
ALL = LOW_VOLUME | HIGH_VOLUME
|
||||||
end
|
end
|
||||||
|
|
||||||
module Director
|
module EventDirector
|
||||||
using Util::CoreExtensions
|
include Util::String
|
||||||
|
|
||||||
def observers
|
def observers
|
||||||
@observers ||= {}
|
@observers ||= {}
|
||||||
@ -50,13 +50,13 @@ module OBSWS
|
|||||||
end
|
end
|
||||||
|
|
||||||
def fire(event, data)
|
def fire(event, data)
|
||||||
observers[event.snakecase.to_sym]&.each { |block| data.empty? ? block.call : block.call(data) }
|
observers[snakecase(event).to_sym]&.each { |block| data.empty? ? block.call : block.call(data) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class Client
|
class Client
|
||||||
include Logging
|
include Logging
|
||||||
include Events::Director
|
include EventDirector
|
||||||
include Mixin::TearDown
|
include Mixin::TearDown
|
||||||
include Mixin::OPCodes
|
include Mixin::OPCodes
|
||||||
|
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
module OBSWS
|
module OBSWS
|
||||||
module Mixin
|
module Mixin
|
||||||
module Meta
|
module Meta
|
||||||
using Util::CoreExtensions
|
include Util::String
|
||||||
|
|
||||||
def make_field_methods(*params)
|
def make_field_methods(*params)
|
||||||
params.each do |param|
|
params.each do |param|
|
||||||
define_singleton_method(param.to_s.snakecase) { @resp[param] }
|
define_singleton_method(snakecase(param.to_s)) { @resp[param] }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class MetaObject
|
class MetaObject
|
||||||
using Util::CoreExtensions
|
|
||||||
include Mixin::Meta
|
include Mixin::Meta
|
||||||
|
|
||||||
def initialize(resp, fields)
|
def initialize(resp, fields)
|
||||||
@ -22,7 +21,7 @@ module OBSWS
|
|||||||
|
|
||||||
def empty? = @fields.empty?
|
def empty? = @fields.empty?
|
||||||
|
|
||||||
def attrs = @fields.map { |f| f.to_s.snakecase }
|
def attrs = @fields.map { |f| snakecase(f.to_s) }
|
||||||
end
|
end
|
||||||
|
|
||||||
# Represents a request response object
|
# Represents a request response object
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
module OBSWS
|
module OBSWS
|
||||||
module Util
|
module Util
|
||||||
module CoreExtensions
|
module String
|
||||||
refine String do
|
def camelcase(s)
|
||||||
def camelcase
|
s.split("_").map(&:capitalize).join
|
||||||
split("_").map(&:capitalize).join
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def snakecase
|
def snakecase(s)
|
||||||
gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
s
|
||||||
|
.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
||||||
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
||||||
.downcase
|
.downcase
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
@ -11,7 +11,7 @@ module OBSWS
|
|||||||
end
|
end
|
||||||
|
|
||||||
def patch
|
def patch
|
||||||
2
|
1
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_a
|
def to_a
|
||||||
|
Loading…
x
Reference in New Issue
Block a user