libsl 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ pkg
data/README.md ADDED
@@ -0,0 +1,50 @@
1
+ LibSL - The ruby SecondLife client framework
2
+ ============================================
3
+
4
+ LibSL is a framework for building SecondLife client applications in ruby.
5
+ The most basic client application can be written in three lines of ruby code:
6
+
7
+ require 'libsl'
8
+ setup "firstname", "lastname", "password"
9
+ when_ready { shutdown }
10
+
11
+ This simple example will login to SecondLife and shutdown once we are connected.
12
+ LibSL is all about interacting with the SecondLife servers. The DSL makes this
13
+ very easy. Handle events:
14
+
15
+ # Handle one specific event
16
+ handle :event_name do |type, *args|
17
+ # do something
18
+ end
19
+
20
+ # Handle multiple events
21
+ handle [:event1, :event2] do |type, *args|
22
+ # do something
23
+ end
24
+
25
+ # Handle all events
26
+ handle :all do |type, *args|
27
+ # do something
28
+ end
29
+
30
+ Use the client API to interact with the SecondLife world:
31
+
32
+ # Send a chat message
33
+ client.agent_manager.chat("Hello!")
34
+ # Send an instant message
35
+ client.agent_manager.im("Hello!", uuid)
36
+
37
+ Or build raw packets and send them to the server:
38
+
39
+ # Request money balance
40
+ packet = MoneyBalanceRequestPacket.new({
41
+ :AgentData => {
42
+ :AgentID => client.network_manager.agent_id,
43
+ :SessionID => client.network_manager.session_id
44
+ },
45
+ :MoneyData => {
46
+ :TransactionID => LLUUID.null
47
+ }
48
+ })
49
+ send_packet packet
50
+
data/Rakefile ADDED
@@ -0,0 +1,54 @@
1
+
2
+ gemspec = eval(File.read(Dir["*.gemspec"].first))
3
+
4
+
5
+ desc "Validate the gemspec"
6
+ task :gemspec do
7
+ gemspec.validate
8
+ end
9
+
10
+ desc "Build packet definitions"
11
+ task :build_msg do
12
+ system "scripts/build-messages"
13
+ end
14
+
15
+ desc "Build gem locally"
16
+ task :build => [:gemspec, :build_msg] do
17
+ system "gem build #{gemspec.name}.gemspec"
18
+ FileUtils.mkdir_p "pkg"
19
+ FileUtils.mv "#{gemspec.name}-#{gemspec.version}.gem", "pkg"
20
+ end
21
+
22
+ desc "Install gem locally"
23
+ task :install => :build do
24
+ system "gem install pkg/#{gemspec.name}-#{gemspec.version}"
25
+ end
26
+
27
+ desc "Increment version. type=(major|minor|patch)"
28
+ task :inc_version do
29
+ version = File.read('VERSION').split(".").map{|v| v.to_i}
30
+ while version.length < 3 do version << 0 end
31
+ case ENV['type']
32
+ when 'major' then
33
+ version[0] += 1
34
+ when 'patch' then
35
+ version[2] += 1
36
+ else
37
+ version[1] += 1
38
+ end
39
+ File.open('VERSION', "w") { |f| f.write version.join(".") }
40
+ system "git add VERSION && git commit -m \"Increment version\""
41
+ end
42
+
43
+ desc "Push gem to rubygems.org (Will also create a git tag)"
44
+ task :push => :build do
45
+ puts "Creating Git tag #{gemspec.version}"
46
+ system "git tag -a -f -m \"Pushing #{gemspec.version} to rubygems.org\" \"#{gemspec.version}\""
47
+ puts "Push gem to rubygems.org"
48
+ system "gem push pkg/#{gemspec.name}-#{gemspec.version}.gem"
49
+ end
50
+
51
+ desc "Clean automatically generated files"
52
+ task :clean do
53
+ FileUtils.rm_rf "pkg"
54
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.2