serverkit-karabiner 0.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 14d024debc7b396032dde0e9e1ef4bed8c6ce806
4
+ data.tar.gz: a22e3318a92506d14cf6f780d334a86cb405b730
5
+ SHA512:
6
+ metadata.gz: eb17b455e2e11b0f5a7de37be7f570ad28858c6fef43027cc7753b78b9fa7c56712ed740774a13296fee16f9aec6b85fcb5882d48c811abb2cae8ac7f3a8a5b9
7
+ data.tar.gz: 9ee9d001e3c5ecf952002402876197ef60cb8762582e88fdde2ac965b5b13cfd8d5537554e20a3b2390df34bd0d1f5c2ea1224b5c84cfabf9c3968e66567b43f
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in serverkit-karabiner.gemspec
4
+ gemspec
@@ -0,0 +1,19 @@
1
+ # Serverkit::Karabiner
2
+ [Serverkit](https://github.com/r7kamura/serverkit) plug-in for [Karabiner](https://pqrs.org/osx/karabiner/).
3
+
4
+ ## Resources
5
+ ### karabiner
6
+ Write a key-value pair with karabiner
7
+
8
+ #### Attributes
9
+ - key (required)
10
+ - value (requird)
11
+ - karabiner_executable_path (default: `"/Applications/Karabiner.app/Contents/Library/bin/karabiner"`)
12
+
13
+ #### Example
14
+ ```yml
15
+ resources:
16
+ - type: karabiner
17
+ key: repeat.wait
18
+ value: 100
19
+ ```
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,2 @@
1
+ require "serverkit/karabiner/version"
2
+ require "serverkit/resources/karabiner"
@@ -0,0 +1,5 @@
1
+ module Serverkit
2
+ module Karabiner
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,40 @@
1
+ require "serverkit/resources/base"
2
+
3
+ module Serverkit
4
+ module Resources
5
+ class Karabiner < Base
6
+ DEFAULT_KARABINER_EXECUTABLE_PATH = "/Applications/Karabiner.app/Contents/Library/bin/karabiner"
7
+
8
+ attribute :karabiner_executable_path, default: DEFAULT_KARABINER_EXECUTABLE_PATH, type: String
9
+ attribute :key, required: true, type: String
10
+ attribute :value, required: true
11
+
12
+ # @note Override
13
+ def apply
14
+ run_karabiner_command("set #{key} #{value}")
15
+ end
16
+
17
+ # @note Override
18
+ def check
19
+ check_karabiner_command("changed | grep -E '^#{key}=#{value}$'")
20
+ end
21
+
22
+ private
23
+
24
+ # Wrapper of #check_command with karabiner executable
25
+ def check_karabiner_command(command)
26
+ check_command("#{karabiner_executable_path} #{command}")
27
+ end
28
+
29
+ # @note Override
30
+ def default_id
31
+ key
32
+ end
33
+
34
+ # Wrapper of #run_command with karabiner executable
35
+ def run_karabiner_command(command)
36
+ check_command("#{karabiner_executable_path} #{command}")
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,19 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "serverkit/karabiner/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "serverkit-karabiner"
7
+ spec.version = Serverkit::Karabiner::VERSION
8
+ spec.authors = ["Ryo Nakamura"]
9
+ spec.email = ["r7kamura@gmail.com"]
10
+ spec.summary = "Serverkit plug-in for Karabiner."
11
+ spec.homepage = "https://github.com/r7kamura/serverkit-karabiner"
12
+
13
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
14
+ spec.require_paths = ["lib"]
15
+
16
+ spec.add_runtime_dependency "serverkit"
17
+ spec.add_development_dependency "bundler", "~> 1.9"
18
+ spec.add_development_dependency "rake", "~> 10.0"
19
+ end
metadata ADDED
@@ -0,0 +1,94 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: serverkit-karabiner
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ryo Nakamura
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-04-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: serverkit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.9'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.9'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ description:
56
+ email:
57
+ - r7kamura@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".gitignore"
63
+ - Gemfile
64
+ - README.md
65
+ - Rakefile
66
+ - lib/serverkit/karabiner.rb
67
+ - lib/serverkit/karabiner/version.rb
68
+ - lib/serverkit/resources/karabiner.rb
69
+ - serverkit-karabiner.gemspec
70
+ homepage: https://github.com/r7kamura/serverkit-karabiner
71
+ licenses: []
72
+ metadata: {}
73
+ post_install_message:
74
+ rdoc_options: []
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ requirements: []
88
+ rubyforge_project:
89
+ rubygems_version: 2.4.5
90
+ signing_key:
91
+ specification_version: 4
92
+ summary: Serverkit plug-in for Karabiner.
93
+ test_files: []
94
+ has_rdoc: