有一个宝石(gcloud),我想和我的一个(mll)一起使用。
我的库应该有一个核心扩展,它在<script charset="utf-8" type="text/javascript">
$(function() {
// jQuery selection for the 2 select boxes
var dropdown = {
state: $('#select_state'),
county: $('#select_county')
};
// call to update on load
updateCounties();
// function to call XHR and update county dropdown
function updateCounties() {
var send = {
state: dropdown.state.val()
};
dropdown.county.attr('disabled', 'disabled');
dropdown.county.empty();
$.getJSON("{{ url_for('_get_counties') }}", send, function(data) {
data.forEach(function(item) {
dropdown.county.append(
$('<option>', {
value: item[0],
text: item[1]
})
);
});
dropdown.county.removeAttr('disabled');
});
}
// event listener to state dropdown change
dropdown.state.on('change', function() {
updateCounties();
});
});
</script>
上调用一些自己的方法。
Object#self
但是他们的库以这种方式声明了一个所谓的# shortened and simplified version of my code
class Object
def print_class
p self.class
end
end
类:
List
# shortened and simplified version of their code
require "delegate"
class List < DelegateClass(::Array)
def initialize arr = []
super arr
end
def some_method
end
...
end
属于另一个类
self
并且它进一步给了我问题,因为[].print_class # Array
list = List.new([])
p list.class # List
list.print_class # Array
没有Array
具有的方法。例如,我无法在我的扩展程序中调用List
- 我得到了some_method
例外。
如何进行核心扩展,保留对{1}}正确类和方法的访问权限?