hammer_cli_import 0.10.21

Sign up to get free protection for your applications and to get access to all the features.
data/README.md ADDED
@@ -0,0 +1,115 @@
1
+ # hammer-cli-import
2
+
3
+ Tool for importing data from an existing Spacewalk/Satellite system.
4
+
5
+ THIS TOOL IS WORK IN PROGRESS.
6
+
7
+ ## Setup info
8
+
9
+ To enable modules do the following:
10
+
11
+ ~~~~ { .bash }
12
+ mkdir -p ~/.hammer
13
+ cat >> ~/.hammer/cli_config.yml << EOF
14
+ :modules:
15
+ - hammer_cli_import
16
+ EOF
17
+ ~~~~
18
+
19
+ And running with
20
+
21
+ ~~~ { .bash }
22
+ env RUBYOPT=-Ilib hammer import
23
+ ~~~
24
+
25
+ To build/install as a gem:
26
+
27
+ ~~~ { .bash }
28
+ gem build hammer_cli_import.gemspec
29
+ gem install hammer_cli_import-0.0.1.gem
30
+ hammer import
31
+ ~~~
32
+
33
+ ## RuboCop
34
+
35
+ [RuboCop][rubocop] requires at least Ruby 1.9.2. That is available in SCL.
36
+
37
+ ~~~ { .bash }
38
+ yum install -y ruby193-ruby-devel
39
+ scl enable ruby193 "gem install rubocop"
40
+ ~~~
41
+
42
+ It needs to be run with newer Ruby too (it will pick up its configuration
43
+ automatically when run from the root of repository).
44
+
45
+ ~~~ { .bash }
46
+ scl enable ruby193 "/opt/rh/ruby193/root/usr/local/share/gems/gems/*/bin/rubocop"
47
+ ~~~
48
+
49
+ ## Development
50
+
51
+ You can add to your `~/.irbrc`:
52
+
53
+ ~~~ { .ruby }
54
+ class Object
55
+ def imethods
56
+ methods - Object.instance_methods
57
+ end
58
+
59
+ def methods_re(re)
60
+ methods.select do |m|
61
+ re.match m.to_s
62
+ end
63
+ end
64
+ end
65
+ ~~~
66
+
67
+ ### Reproducers
68
+
69
+ You can play with apipie-bindings on command line. For that you need bundler. Example session:
70
+
71
+ ~~~
72
+ [hammer-cli-import]$ gem install bundler
73
+ [hammer-cli-import]$ bundle exec irb
74
+
75
+ require 'apipie-bindings'
76
+ api = ApipieBindings::API.new({:uri => 'http://localhost/', :username => 'admin', :password => :changeme, :api_version => '2', :aggressive_cache_checking => true})
77
+ user_hash = {
78
+ :login => "newuser",
79
+ :firstname => "user",
80
+ :lastname => "new",
81
+ :mail => "root@localhost",
82
+ :auth_source_id => 1,
83
+ :password => "password",
84
+ :organization_ids => [13],
85
+ :default_organization_id => 13,
86
+ :location_ids => [],
87
+ :role_ids => [],
88
+ }
89
+ api.resource(:users).call(:create, user_hash)
90
+ ~~~
91
+
92
+ or create `reproducer.rb` and then run it via `bundle exec ruby reproducer.rb`.
93
+
94
+ ~~~ { .ruby }
95
+ require 'apipie-bindings'
96
+
97
+ api = ApipieBindings::API.new({:uri => 'http://localhost/', :username => 'admin',
98
+ :password => 'changeme', :api_version => '2',
99
+ :aggressive_cache_checking => true})
100
+ user_hash = {
101
+ :login => 'newuser',
102
+ :firstname => 'user',
103
+ :lastname => 'new',
104
+ :mail => 'root@localhost',
105
+ :auth_source_id => 1,
106
+ :password => 'password',
107
+ :organization_ids => [13],
108
+ :default_organization_id => 13,
109
+ :location_ids => [],
110
+ :role_ids => []
111
+ }
112
+ api.resource(:users).call(:create, user_hash)
113
+ ~~~
114
+
115
+ [rubocop]: http://batsov.com/rubocop/ "Ruby code analyzer"