cups 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/ext/cups.c +5 -2
- data/test/cups_test.rb +11 -2
- metadata +4 -2
data/ext/cups.c
CHANGED
@@ -109,20 +109,22 @@ static VALUE cups_print(VALUE self)
|
|
109
109
|
{
|
110
110
|
int job_id;
|
111
111
|
VALUE file = rb_iv_get(self, "@filename");
|
112
|
+
VALUE rname = rb_iv_get(self, "@title");
|
112
113
|
VALUE printer = rb_iv_get(self, "@printer");
|
113
114
|
VALUE url_path = rb_iv_get(self, "@url_path");
|
114
115
|
|
115
116
|
char *fname = RSTRING_PTR(file); // Filename
|
117
|
+
char *title = T_STRING == TYPE(rname) ? RSTRING_PTR(rname) : "rCups";
|
116
118
|
char *target = RSTRING_PTR(printer); // Target printer string
|
117
119
|
char *url = RSTRING_PTR(url_path); // Server URL address
|
118
120
|
int port = 631; // Default CUPS port
|
119
|
-
|
121
|
+
|
120
122
|
VALUE job_options = rb_iv_get(self, "@job_options");
|
121
123
|
|
122
124
|
// Create an array of the keys from the job_options hash
|
123
125
|
VALUE job_options_keys = rb_ary_new();
|
124
126
|
rb_hash_foreach(job_options, cups_keys_i, job_options_keys);
|
125
|
-
|
127
|
+
|
126
128
|
VALUE iter;
|
127
129
|
int num_options = 0;
|
128
130
|
cups_option_t *options = NULL;
|
@@ -520,6 +522,7 @@ void Init_cups() {
|
|
520
522
|
rb_define_attr(printJobs, "url_path", 1, 0);
|
521
523
|
rb_define_attr(printJobs, "job_id", 1, 0);
|
522
524
|
rb_define_attr(printJobs, "job_options", 1, 0);
|
525
|
+
rb_define_attr(printJobs, "title", 1, 1);
|
523
526
|
|
524
527
|
// Cups::PrintJob Methods
|
525
528
|
rb_define_method(printJobs, "initialize", job_init, -1);
|
data/test/cups_test.rb
CHANGED
@@ -110,14 +110,23 @@ class CupsTest < Test::Unit::TestCase
|
|
110
110
|
def test_dest_options_raises_exception_if_not_real
|
111
111
|
assert_raise(RuntimeError, "The printer or destination doesn't exist!") { Cups.options_for("bollocks_printer") }
|
112
112
|
end
|
113
|
-
|
113
|
+
|
114
114
|
def test_job_failed_boolean
|
115
115
|
pj = Cups::PrintJob.new(sample, @printer)
|
116
116
|
pj.print
|
117
117
|
pj.cancel
|
118
118
|
assert !pj.failed?
|
119
119
|
end
|
120
|
-
|
120
|
+
|
121
|
+
def test_job_title
|
122
|
+
pj = Cups::PrintJob.new(sample, @printer)
|
123
|
+
pj.title = 'a-test-job'
|
124
|
+
pj.print
|
125
|
+
job = Cups.all_jobs(@printer)[ pj.job_id ]
|
126
|
+
assert_equal 'a-test-job', job[:title]
|
127
|
+
pj.cancel
|
128
|
+
end
|
129
|
+
|
121
130
|
def test_returns_failure_string_on_cancellation
|
122
131
|
pj = Cups::PrintJob.new(blank_sample, @printer)
|
123
132
|
pj.print
|
metadata
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cups
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
+
- Nathan Stitt
|
8
9
|
- Tadej Murovec
|
9
10
|
- Ivan Turkovic
|
10
11
|
- Chris Mowforth
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
14
|
cert_chain: []
|
14
|
-
date: 2013-
|
15
|
+
date: 2013-06-27 00:00:00.000000000 Z
|
15
16
|
dependencies: []
|
16
17
|
description: ! ' Ruby CUPS provides a wrapper for the Common UNIX Printing System,
|
17
18
|
allowing rubyists to perform basic tasks like printer discovery, job submission
|
@@ -19,6 +20,7 @@ description: ! ' Ruby CUPS provides a wrapper for the Common UNIX Printing Sy
|
|
19
20
|
|
20
21
|
'
|
21
22
|
email:
|
23
|
+
- nathan@stitt.org
|
22
24
|
- tadej.murovec@gmail.com
|
23
25
|
- me@ivanturkovic.com
|
24
26
|
- chris@mowforth.com
|