ef-bee-lib 0.0.0

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
+ SHA1:
3
+ metadata.gz: eb0dc54ded01e3a7bf75ed1b4929532e3205b668
4
+ data.tar.gz: 4ba76feb263350e86f86dcaf443630b527e32921
5
+ SHA512:
6
+ metadata.gz: 6101f971915433a0e9e78dae3cd4e37ce5bb5bd13ecc6253c9ee0fcb877ff76e257a47f52c167df950433d1dd26fa183f2c3f8d33a945e86b7b236f7ece43c5c
7
+ data.tar.gz: 476a9a2b7b8e6c3c24fcec3c4bc7ea52c31311e85e6edc9f8112f6d7566b598ac185b5140d1dce8fd8e808a913ff91707e31782b5fdd0dea07d0e1ec32217917
@@ -0,0 +1,4 @@
1
+ module EfBeeLib
2
+ VERSION = '0.0.0'
3
+ DATE = '2017-07-24'
4
+ end
data/lib/ef-bee-lib.rb ADDED
@@ -0,0 +1,18 @@
1
+ require 'phantomjs'
2
+
3
+ module EfBeeLib
4
+
5
+ PJS_DIR = 'phantomjs'
6
+ POST_CMD = 'post.js'
7
+
8
+ def self.setup
9
+ Phantomjs.base_dir = File.expand_path "../../#{PJS_DIR}", __FILE__
10
+ Phantomjs.path
11
+ end
12
+
13
+ def self.post(msg)
14
+ setup
15
+ Phantomjs.run POST_CMD, msg
16
+ end
17
+
18
+ end
data/post.js ADDED
@@ -0,0 +1,78 @@
1
+ var page = new WebPage();
2
+ var system = require('system');
3
+ var env = system.env;
4
+ var args = system.args;
5
+
6
+ page.onConsoleMessage = function(msg) {
7
+ console.log(msg);
8
+ };
9
+
10
+ var steps = [
11
+ function() {
12
+ page.open('http://www.facebook.com');
13
+ },
14
+ function() {
15
+ page.evaluate(function(user, pass) {
16
+ var form = document.getElementById('login_form');
17
+ form.elements['email'].value = user;
18
+ form.elements['pass'].value = pass;
19
+ form.submit();
20
+ return;
21
+ }, env['USER'], env['PASS']);
22
+ if(env['DEBUG'] == 'true') {
23
+ page.render('login.png');
24
+ page.evaluate(function() {
25
+ console.log(document.querySelectorAll('html')[0].outerHTML);
26
+ return;
27
+ });
28
+ }
29
+ },
30
+ function() {
31
+ page.evaluate(function(msg) {
32
+ var forms = document.getElementsByClassName('_559p');
33
+ var i;
34
+ for(i = 0; i < forms.length; i++) {
35
+ if(forms[i].elements['xhpc_message'] != null) {
36
+ forms[i].elements['xhpc_message'].value = msg;
37
+ forms[i].elements['xhpc_message'].focus();
38
+ return;
39
+ }
40
+ }
41
+ return;
42
+ }, args[1]);
43
+ page.sendEvent('keypress', page.event.key.Enter, null, null, 0);
44
+ },
45
+ function() {
46
+ if(env['DEBUG'] == 'true') {
47
+ page.render('timeline.png');
48
+ page.evaluate(function() {
49
+ console.log(document.querySelectorAll('html')[0].outerHTML);
50
+ return;
51
+ });
52
+ }
53
+ page.evaluate(function() {
54
+ var bs = document.getElementsByTagName('button');
55
+ var i;
56
+ for(i = 0; i < bs.length; i++) {
57
+ if(bs[i].innerHTML.contains('Post')) {
58
+ bs[i].focus();
59
+ return;
60
+ }
61
+ }
62
+ return;
63
+ });
64
+ page.sendEvent('keypress', page.event.key.Enter, null, null, 0);
65
+ }
66
+ ];
67
+
68
+ var step = 1;
69
+
70
+ steps[0]();
71
+ interval = setInterval(function() {
72
+ if(typeof steps[step] === 'function') {
73
+ steps[step]();
74
+ step++;
75
+ } else {
76
+ phantom.exit();
77
+ }
78
+ }, 10000);
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ef-bee-lib
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Ruslan Ledesma Garza
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-07-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: phantomjs
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '11.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '11.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.9'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.9'
55
+ description: 'ef-bee-lib is a library for Facebook.
56
+
57
+ '
58
+ email:
59
+ - ruslanledesmagarza@gmail.com
60
+ executables: []
61
+ extensions: []
62
+ extra_rdoc_files: []
63
+ files:
64
+ - lib/ef-bee-lib.rb
65
+ - lib/ef-bee-lib/version.rb
66
+ - post.js
67
+ homepage: https://github.com/mrrusof/ef-bee-lib
68
+ licenses:
69
+ - MIT
70
+ metadata: {}
71
+ post_install_message:
72
+ rdoc_options: []
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ requirements: []
86
+ rubyforge_project:
87
+ rubygems_version: 2.5.1
88
+ signing_key:
89
+ specification_version: 4
90
+ summary: ef-bee-lib is a library for Facebook.
91
+ test_files: []