simple_clipboard 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []