simple_clipboard 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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 54e9f271fe5deb9a9ea06232a25b116c8c023d867152229ff2d1967e615ba28a
4
+ data.tar.gz: 45651e5ff2ac59a208ec0e6ea55630fe1e2e14bd8ca57bccbd45ef2e93c1e4ff
5
+ SHA512:
6
+ metadata.gz: f466d1fc29b738cfd73eab0ec79ceca3ba1bf2b6b58d500fa465f01056f809bab87e3803f5efc7215ef3e850e8ee3ba0732c4d3c0a56996e58c9ab17b6f097e6
7
+ data.tar.gz: 2cc3263b15f553c7639e1b3a1d15ab927ab00a78b396069b79450ad764276af6e97c78e42ba92c0278ac57ec8e36dce9ac5077e7f36ad07edfff1efa94c8d7cd
@@ -0,0 +1,13 @@
1
+ # coding: utf-8
2
+ # frozen_string_literal: false
3
+
4
+ require 'mkmf'
5
+
6
+ $LOCAL_LIBS << ' -lclipboard'
7
+
8
+ if RUBY_PLATFORM =~ /darwin/
9
+ $LDFLAGS << ' -framework AppKit'
10
+ end
11
+
12
+ create_header
13
+ create_makefile 'simple_clipboard/simple_clipboard'
@@ -0,0 +1,39 @@
1
+ #include <ruby.h>
2
+ #include <libclipboard.h>
3
+ #include "extconf.h"
4
+
5
+ static clipboard_c *cb = NULL;
6
+
7
+ VALUE set_text(VALUE _self, VALUE val) {
8
+ Check_Type(val, T_STRING);
9
+ VALUE result = Qnil;
10
+ char *text = clipboard_text(cb);
11
+ if (NULL != text) {
12
+ result = rb_str_new(text, strlen(text));
13
+ free(text);
14
+ }
15
+ if (false == clipboard_set_text(cb, StringValueCStr(val))) {
16
+ rb_raise(rb_eRuntimeError, "Failed to write to clipboard.");
17
+ }
18
+ return result;
19
+ }
20
+
21
+ VALUE get_text(VALUE _self) {
22
+ VALUE result = Qnil;
23
+ char *text = clipboard_text(cb);
24
+ if (NULL != text) {
25
+ result = rb_str_new(text, strlen(text));
26
+ free(text);
27
+ }
28
+ return result;
29
+ }
30
+
31
+ void Init_simple_clipboard() {
32
+ cb = clipboard_new(NULL);
33
+ if (NULL == cb) {
34
+ rb_raise(rb_eRuntimeError, "Failed to create clipboard context.");
35
+ }
36
+ VALUE mod = rb_define_module("SimpleClipboard");
37
+ rb_define_module_function(mod, "get_text", get_text, 0);
38
+ rb_define_module_function(mod, "set_text", set_text, 1);
39
+ }
@@ -0,0 +1,5 @@
1
+ # coding: utf-8
2
+ # frozen_string_literal: false
3
+
4
+ require 'simple_clipboard/simple_clipboard'
5
+ require 'simple_clipboard/version'
@@ -0,0 +1,6 @@
1
+ # coding: utf-8
2
+ # frozen_string_literal: false
3
+
4
+ module SimpleClipboard
5
+ VERSION = '0.0.1'
6
+ end
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: simple_clipboard
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Tristan Penman
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-06-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 13.0.3
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 13.0.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake-compiler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.16.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.16.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.10'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.10'
69
+ description: A simple gem for accessing the clipboard, based on libclipboard
70
+ email: tristan@tristanpenman.com
71
+ executables: []
72
+ extensions:
73
+ - ext/simple_clipboard/extconf.rb
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ext/simple_clipboard/extconf.rb
77
+ - ext/simple_clipboard/simple_clipboard.c
78
+ - lib/simple_clipboard.rb
79
+ - lib/simple_clipboard/version.rb
80
+ homepage: https://github.com/tristanpenman/simple-clipboard
81
+ licenses:
82
+ - MIT
83
+ metadata: {}
84
+ post_install_message:
85
+ rdoc_options: []
86
+ require_paths:
87
+ - lib
88
+ required_ruby_version: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ required_rubygems_version: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ requirements: []
99
+ rubygems_version: 3.0.9
100
+ signing_key:
101
+ specification_version: 4
102
+ summary: A simple gem for accessing the clipboard
103
+ test_files: []